多个Drawable加载同一张图片,默认共享内存。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容