图片内存管理框架优化 ImageManager

来源:互联网 发布:下载天猫淘宝网 编辑:程序博客网 时间:2024/05/22 00:18

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