我的Android应用程序使用大量的内存

时间:2013-02-12 23:02:17

标签: android memory

我有简单的Android应用程序。应用程序包括大约50个图像,主要是PNG格式,但也大多数是图标大小。大约有5种布局,并使用谷歌地图和WebView。应用程序本身的重量低于6MB。

然后我运行所有应用程序选项,然后我查看应用程序设置 - >缓存进程,我看到我的应用程序使用70 MB的RAM !!!

我尽可能地调用finish()方法,但这没有用。什么可以帮助减少内存使用?

即使是愤怒的小鸟也在减少使用!

5 个答案:

答案 0 :(得分:1)

可能是你正在用methods that create immutable Bitmaps加载你的位图并且没有充分释放它们(你必须小心处理它们的所有引用,否则垃圾收集器永远不会释放它们的空间使用。

如果是这种情况,this reference可能会帮助您使用正在使用的位图。

答案 1 :(得分:1)

最好的方法是为您的应用程序使用9个补丁PNG images。这肯定会帮助您减少缓存大小和应用程序大小。根据android生命周期更多地部署你的应用程序代码,过度使用finish()使活动成为onpause()状态,所以使用onDestroy()你要杀死那个活动。

答案 2 :(得分:1)

创建一个可绘制文件夹并将所有这9个补丁图像放在那里。部署onDestroy()来填充活动

答案 3 :(得分:1)

请在不影响图像质量的情况下压缩每张图像,然后处理泄漏的内存。完成每个活动操作然后完成该活动。一旦退出申请。销毁所有运行方法。如果你需要通过调用位图对象的.recycle()方法手动清除内存。我认为它可以帮助你减少内存。

答案 4 :(得分:0)

尝试这样的事情,我猜可能会有所帮助:

@Override
protected void onDestroy() {
super.onDestroy();

unbindDrawables(findViewById(R.id.LayoutId));
System.gc();
}