2

任何人都可以解释该inPurgable选项设置为 true 时的工作原理吗?从文档

如果设置为 true,则生成的位图将分配其像素,以便在系统需要回收内存时可以清除它们。在这种情况下,当需要再次访问像素时(例如,绘制位图,调用 getPixels()),它们将被自动重新解码。为了进行重新解码,位图必须能够访问编码数据,方法是共享对输入的引用或复制它。

我对此的解释是,它要么保留对加载位图像素的文件名的引用,要么在某处复制像素。对于前者,如果位图被清除,我是否可以期望 drawBitmap 在我的 onDraw 方法中执行可能很慢的 IO 操作?对于后者,副本是如何制作的,这对内存使用有什么影响?

4

0 回答 0