我有简单的Android应用程序。应用程序包括大约50个图像,主要是PNG格式,但也大多数是图标大小。大约有5种布局,并使用谷歌地图和WebView。应用程序本身的重量低于6MB。
然后我运行所有应用程序选项,然后我查看应用程序设置 - >缓存进程,我看到我的应用程序使用70 MB的RAM !!!
我尽可能地调用finish()
方法,但这没有用。什么可以帮助减少内存使用?
即使是愤怒的小鸟也在减少使用!
答案 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();
}