從服務(wù)端下載圖片
下載成功后調(diào)用1內(nèi)存緩存的putBitmap()函數(shù),緩存圖片。
在外部文件緩存中也寫入一份,調(diào)用2的putBitmap()函數(shù).
預(yù)覽圖片的流程
1) 如果預(yù)覽的圖片在內(nèi)存緩存區(qū)中,直接調(diào)用1的getBitmap()函數(shù),獲取bitmap數(shù)據(jù)(先在硬引用緩存區(qū)查找匹配,若硬引用區(qū)匹配失敗,再去軟引用區(qū)匹配)
2) 如果從內(nèi)存緩存區(qū)讀取失敗,再從外部文件緩存中讀取,調(diào)用2的getBitmap()函數(shù)
3) 如果從外部文件緩存中讀取失敗,則從服務(wù)端下載該圖片,過程3.
生成key值
private static String generateKey(String fileId, int width, int height) {
String ret = fileId + "_" + Integer.toString(width) + "x" + Integer.toString(height);
return ret;
}
String key = generateKey(...)即可生成唯一的key值