gpt4 book ai didi

Android - 减少 Bitmap Drawables 的内存使用

转载 作者:行者123 更新时间:2023-11-29 02:15:50 24 4
gpt4 key购买 nike

我的应用程序中有一张 map ,显示了 Gowalla 的位置。我使用带有简单默认标记的 ItemizedOverlay,但是在绘制项目时,我用从 Gowalla 下载 9 并缓存在磁盘上的位置图标交换默认标记。

问题是如果屏幕上有很多位置(比如 30 个),内存中位图的大小就足以使 Activity 崩溃。为了防止这种情况,我只保留对位图的 SoftReferences。不幸的是,这意味着位置将在默认标记和图标之间闪烁(即,图标已加载,但随后存在内存压力,因此它们被删除,但随后重新加载,因为它们在屏幕上......)。

当我从 Gowalla 下载图像时,我已经根据屏幕尺寸(HDPI 为 48x48,MDPI 为 32x32,等等)缩小它们,所以这些图像不是很大,但我仍然被迫在可能导致我的应用程序崩溃或让图标闪烁之间做出选择。有没有其他方法可以减少位图使用的内存?

最佳答案

不幸的是,这总是一个问题。您可以尝试下采样。 Strange out of memory issue while loading an image to a Bitmap object

您可以尝试将图像保存到临时文件系统,这样您就不必每次都访问网络。这应该对闪烁有很大帮助,甚至可能 100%。将其与基于访问的堆缓存相结合(如果您愿意构建一个),您可能就不错了。

关于Android - 减少 Bitmap Drawables 的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4005103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com