Android中多个Drawable加载同一张图片,将共享一块图片内存;
以修改Drawable透明度为例
多个Drawable加载同一张图片时;
即其中一个Drawable对象修改drawable.setAlpha(透明度),其它Drawable的透明度也会随之改变;
即使其他View先加载未改变透明度的Drawable,View上显示Drawable的透明度也会随之改变。
优点:节省内存
缺点:一个变,其它都跟着变,不满足一些需求。
缺点官方给的解决方法:mutate()
drawable.mutate().setAlpha这样Drawable还是共享同一块图片内存,但是会产生多种状态,这样只有这个drawable的显示状态发生变化,其他的不变。
参考:
http://www.cnblogs.com/lbeing/archive/2011/06/13/2080168.html
网友评论