【发布时间】:2016-05-14 14:52:29
【问题描述】:
我最近刚开始开发 Android 应用程序并面临内存问题。使用 Android Studio 的分配跟踪功能,我发现显示在多个活动上的四个 ImageButton 最有可能导致问题。分配跟踪结果显示,几乎所有内存都被两种有关图像的方法使用。看: Allocation Tracking result
按钮的可绘制对象是大小约为 20 KB 的小图标,位于 drawable-nodpi 中。这样,Android 就不必对缩放它们做任何事情。 启动应用程序并在显示这四个 ImageButton 的两个活动之间切换几次,就足以运行 OOM。活动通常通过以下方式以特定的 launchMode 启动:
startActivity(new Intent(this, MyActivity.class));
Android 不应该销毁当前未使用的活动以释放内存。相反,我得到了一个不断增加的内存使用图,如下所示:Memory Usage
有哪些好的做法可以降低重复出现的 ImageButton 所需的资源?有没有办法让我在 onDestory() 中明确删除它们?
【问题讨论】:
标签: android memory-leaks imagebutton