【发布时间】:2012-03-02 12:32:54
【问题描述】:
我注意到在我的 Galaxy Nexus 上 android.content.res.Resources 分配了大约 11MB。我在使用 DDMS 和“Dump HPROF file”选项分析事物的过程中发现了这一点。因此,我花了两个小时试图查看分配是否是由于我的代码或支持库中的某些内容。我删除了所有数据、大量课程、所有库,但没有发现任何变化。在我的代码中在活动的onCreate() 方法的开头放置一个断点后,它显示 11MB 分配已经存在。
在彻底困惑之后,我决定连接运行 CM7 的根深蒂固的 Nook Color,以查看它报告的完全相同的应用程序的初始内存使用情况。 MAT 报告的最坏情况内存“问题嫌疑人”只有 896KB。
ICS 是不是头重脚轻?我在这里错过了什么吗?据我所知,我的应用程序运行正常,但堆使用率表明 97% 已满,这让我担心潜在的故障。
如果有帮助,MAT 表明消耗所有内存的主要对象是位图、BitmapDrawables 和 NinePatchDrawables。我不明白这些分配是从哪里来的。
【问题讨论】:
-
嗯,也许你可以尝试用最低限度制作一个新应用程序,看看它在那里使用了多少
-
我试了一下,在某些情况下,在打开硬件加速并链接兼容库的情况下,它的可用堆在 GN 上可能不到 10%。
标签: android memory heap-memory android-4.0-ice-cream-sandwich