我正在开发一个Android应用程序,它有许多可绘制的png图像,它有一个包含10个表单字段的表单但是当应用程序运行时,它需要200 MB的内存。
该应用程序具有启动画面和四个主要活动。 我正在使用nexus 10.1英寸设备 在logcat我见过: 将堆(frag case)增长到43.800MB,用于7166416字节分配我已将所有图像移动到drawable-xdpi 我使用了System.gc(); 但是仍然会出现内存问题,任何人都可以帮助我这个
答案 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()。