图片内存管理框架优化 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