1. 程式人生 > >Android 開發優化 知識點

Android 開發優化 知識點

 ③ 硬引用 LruCache:  Android DiskLruCache完全解析,硬碟快取的最佳方案
DiskLruCache 
 原理-- 獲取程序最大執行記憶體,給快取設定一個最大佔用記憶體值,超過這個記憶體則把最少使用的圖片移除掉。
 實現:
 寫入
 ① 檔案儲存路徑
    /sdcard/Android/data/<application package>/cache 或者是 /data/data/<application package>/cache 
 ② 儲存快取檔案的檔名  Url對應的MD5值
 ③ 得到 DiskLruCache 物件,通過
   DiskLruCache.open(File directory, int appVersion, int valueCount, long maxSize)返回
 ④ 以檔名為引數得到Editor 物件 mDiskLruCache.edit(key);
 ⑤ 以 editor.newOutputStream(0) 得到輸出流,以imageUrl、outputStream為引數 通過Http下載圖片寫入到快取中。在子執行緒中進行
  讀取
 ① 通過 url 得到MD5值,通過mDiskLruCache.get(key) 得到 Snapshot 物件,通過snapShot.getInputStream(0);得到輸入流,然後的事情就是 轉換成 Bitmap 顯示。
 移除快取: mDiskLruCache.remove(key);

2. 優化工具

 ① Android程式碼優化——使用Android lint工具
   在Android Studio要執行Lint工具:“Analyze”選單中選擇“Inspect Code…”。

5. Android App定位和規避記憶體洩露方法研究
   如何定位和解決Andorid的記憶體溢位問題(大總結)