美文网首页
问:Bitmap在用完后一定要调用recycle回收资源吗?

问:Bitmap在用完后一定要调用recycle回收资源吗?

作者: 超级绿茶 | 来源:发表于2021-01-14 08:08 被阅读0次

    问:Bitmap对象在使用完以后还需要用recycle方法来回收资源吗?


    99eef81433f97da873e4a10354fb42a2.jpg

    答:需要!一个Bitmap实例分为对象引用和像素数据两部分,这两部所占的内存区域是不同的。Bitmap的对象引用和其它的Java对象一样是运行在虚拟机上的,使用的内存资源也在虚拟机管控下,可以被垃圾回收机制回收。而像素数据存储的是一张图的像素点阵,这些像素数据所占用的内存资源是直接向操作系统申请的(为其分配的内存区域有可能在显存区,具体视硬件和调用参数而定),因此垃圾回收机制无法回收这部分的内存,所以需要用recycle()方法手动释放所占的内存资源。需要注意的是用recycle回收后Bitmap的对象引用仍旧存在。而且Bitmap一旦recycle后就不可再用,所以建议把释放操作放在onDestory等环节使用。

    欢迎加入QQ群聊:口袋里的安卓
    或关注微信公众号:口袋里的安卓

    相关文章

      网友评论

          本文标题:问:Bitmap在用完后一定要调用recycle回收资源吗?

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