为什么一个简单的Android应用需要大量的内存

时间:2014-12-19 14:04:49

标签: android performance memory

我正在开发一个Android应用程序,它有许多可绘制的png图像,它有一个包含10个表单字段的表单但是当应用程序运行时,它需要200 MB的内存。

该应用程序具有启动画面和四个主要活动。 我正在使用nexus 10.1英寸设备 在logcat我见过: 将堆(frag case)增长到43.800MB,用于7166416字节分配

我已将所有图像移动到drawable-xdpi 我使用了System.gc(); 但是仍然会出现内存问题,任何人都可以帮助我这个

1 个答案:

答案 0 :(得分:2)

这里有一些事情

1:你可以降低"质量"你的图像没有真正影响它们的外观    应用。你可以使用" gimp"或者类似的工具来实现存储的图像     你的资源目录。

2:使用BitmapFactory.Options读取它们时,使用inSampleSize将大大减少内存占用,因为调用BitmapFactory.decodeStream时图像将缩小。

 BitmapFactory.Options options = new BitmapFactory.Options();
   Options.inSampleSize = 2;
   Options.inPreferredConfig = Bitmap.Config.RGB_565;

3:确保在完成位图后调用位图上的recycle()。