Android中多個(gè)Drawable加載同一張圖片,將共享一塊圖片內(nèi)存错洁;
以修改Drawable透明度為例
多個(gè)Drawable加載同一張圖片時(shí);
即其中一個(gè)Drawable對(duì)象修改drawable.setAlpha(透明度)秉宿,其它Drawable的透明度也會(huì)隨之改變;
即使其他View先加載未改變透明度的Drawable,View上顯示Drawable的透明度也會(huì)隨之改變屯碴。
優(yōu)點(diǎn):節(jié)省內(nèi)存
缺點(diǎn):一個(gè)變描睦,其它都跟著變,不滿足一些需求导而。
缺點(diǎn)官方給的解決方法:mutate()
drawable.mutate().setAlpha這樣Drawable還是共享同一塊圖片內(nèi)存忱叭,但是會(huì)產(chǎn)生多種狀態(tài),這樣只有這個(gè)drawable的顯示狀態(tài)發(fā)生變化今艺,其他的不變韵丑。
參考:
http://www.cnblogs.com/lbeing/archive/2011/06/13/2080168.html