圖片內存管理框架優化 ImageManager
今天開始接到任務,要完成公司的圖片管理框架的優化,希望自己能記錄下過程的點滴:
- 熟悉框架結構
- 瞭解變量方法
- 相關類接口熟悉
- 總結
- 研究Fresco
- 對比出解決方案
ImageManagerHelper
得到初始化圖片方法
getDrawable(String uiName, int normalId, int pressId, int disableId)
設置背景圖片保持填充
setBackgroundDrawableKeepPadding(Viewview,Drawable backgroundDrawable)
得到RadioButoon背景
getCheckDrawable(String uiName, int checked, int unChecked)
若干初始化圖片方法重載
getDrawable(String uiName, int drawableID)
getDrawable(String uiName, int drawableID, boolean isScaleToDensity)
getDrawableSpecifyInDensity(StringuiName,intimage_id,int inDensity)
getRoundDrawable(StringuiName,intdrawableID,intcornerRadius,intmargin)
getDrawable(String uiName, int normal, int press)
blablabla…
IImageManager
設置圖片回收類型
setImageRecycleType(ImageRecycleType type, float max_memory_percent);
加載圖片
loadImage(String uiName, int image_id);)
loadImage(String uiName, int image_id, boolean isScaleToDensity);
loadImage(String uiName,intimage_id,intcornerRadius, int margin);
loadImage(StringuiName,StringimageUrl,ObjecttargetView,intdefaultImageID,ImageLoadingListenerlistener);
loadImage(StringuiName,StringimageUrl,ObjecttargetView,intdefaultImageID,ImageLoadingListenerlistener,intcornerRadius,intmargin);
根據UIName回收圖片
recycleImageByUIName(String uiName, UIRecycleType uiCanRecycle)
blablabla…
ImageManagerHelper
使用UIName刪除圖片
removeImageUsedUi(String uiName, boolean all)
removeImageUsedUi(String uiName, String imageUri)
removeImageUsedUI(String uiName)
設置背景圖片保持填充
setBackgroundDrawableKeepPadding(Viewview,Drawable backgroundDrawable)
取消加載通過UIName
cancelLoadUrlByUiName
- 取消加載通過URL
cancelLoadUrl