圖片內存管理框架優化 ImageManager

圖片內存管理框架優化 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
發佈了35 篇原創文章 · 獲贊 12 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章