2

我对管理大量位图的推荐/最佳实践有疑问。(这是一个翻书类型的应用程序,用户在其中浏览并创建新页面......就像一堆虚拟的便笺 k?)以前,我有一个包含位图的对象数组列表,(性能良好)但我很快遇到了 Out dalvik vm 堆限制的内存问题。

后来我尝试将屏幕上未显示的位图作为缓存存储到 sd 卡中,然后按需抓取它们,但我发现这在我的手机上比以前的方法慢得多。

针对这个问题的最佳攻击计划是什么?

4

3 回答 3

3

也许你可以尝试一个组合。将位图保存在 sd 卡上作为缓存,当加载位图“B”时,将位图“A”和“C”加载到内存中,其中“A”和“C”是应用中围绕“B”的位图。

于 2011-02-05T04:01:08.037 回答
1

您应该同时使用强引用内存缓存和磁盘缓存,请参阅 Android 培训课程高效显示位图,尤其是缓存位图课程。

于 2012-04-10T09:53:54.680 回答
0

一个建议是,如果您的位图不再可用或者您想将其从内存中删除。你应该做,

bitmapObject.recycle();

这是释放位图内存的最佳有效方式。

于 2011-02-05T05:49:25.477 回答