Android-位图缓存占用大量内存

Android-位图缓存占用大量内存,第1张

Android-位图缓存占用大量内存

图像也会根据密度进行缩放,因此它们可以使用大量内存。

例如,如果图像文件位于

drawable
文件夹(
mdpi
密度)中,并且您在
xhdpi
设备上运行它,则宽度和高度都会加倍。也许这个链接 可以帮助您,或者这个

因此,在您的示例中,图像文件将占用的字节为:

(1024 * 2)(800 * 2) 4 = 13,107,200字节

如果您在

xxhdpi
设备(例如HTC one和Galaxy S4)上运行它,甚至会更糟。

你能做什么?可以将图像文件放入正确的密度文件夹(

drawable-xhdpi
drawable-xxhdpi
)中,也可以将其放入
drawable-nodpi
(或资产文件夹中)并根据需要缩小图像的比例。

顺便说一句,您不必设置,

options.inJustDepreBounds = false
因为它是默认行为。实际上,您可以将位图选项设置为null。

关于缩放下来,你可以使用 谷歌的方式 或我的方式每个人都有自己的优点和缺点。

关于缓存,有很多方法可以做到。最常见的一种是LRU缓存。我最近还创建了一个替代方法(请在此处),该替代方法可让您缓存更多图像并避免使用OOM,但这给您带来了很多责任。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5478269.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存