1. 程式人生 > >應用中修改多個getDrawable的相同資源id的問題分析

應用中修改多個getDrawable的相同資源id的問題分析

記錄下遇到的問題:

程式中通過getDrawable載入統一資源,這個資源會在很多頁面或者一個頁面的不同地方使用,而當修改某一個地方的drawable的顏色等屬性時,其他地方的該資源也同時變化了。

public void changeDrawableColor (int color) {
    Drawable bgDrawable     = context.getResources().getDrawable(R.mipmap.icon_loading_bg);
Drawable centerDrawble   = context.getResources().getDrawable(R.mipmap.icon_loading_center
); if (bgDrawable != null && centerDrawble != null) { bgDrawable.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); centerDrawble.setColorFilter(new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_IN)); mBackgroud.setImageDrawable(bgDrawable); mCenter.setImageDrawable(centerDrawble);
} }
drawable快取分析: https://blog.csdn.net/hello__zero/article/details/43230149