美文网首页
多个Drawable加载同一张图片,默认共享内存。

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

作者: kaixinzzy | 来源:发表于2017-10-20 11:32 被阅读0次

    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

    相关文章

      网友评论

          本文标题:多个Drawable加载同一张图片,默认共享内存。

          本文链接:https://www.haomeiwen.com/subject/sfomuxtx.html