2014-02-16 46 views
0

我有5个图图像和我的模拟器堆内存的Android堆内存的问题是32MB,而 我调试的代码,输入位图解码语句之前,在 应用程序加载本身它正在29.02 MB ,所以我不能加载我的 图像,请帮助我,为什么应用程序正在增加堆内存上 loading ...我应该减少这一点,所以只有我能够访问我的 图像。上加载应用程序

02-16 14:41:49.557: I/dalvikvm-heap(2212): Grow heap (frag case) to 10.719MB for 8640016-byte allocation 

02-16 14:41:49.639: D/dalvikvm(2212): GC_FOR_ALLOC freed <1K, 2% free 10862K/11060K, paused 81ms, total 81ms 

02-16 14:41:49.709: D/dalvikvm(2212): GC_CONCURRENT freed <1K, 2% free 10862K/11060K, paused 4ms+6ms, total 70ms 

02-16 14:41:50.020: D/dalvikvm(2212): GC_FOR_ALLOC freed <1K, 2% free 10862K/11060K, paused 25ms, total 25ms 

02-16 14:41:50.400: I/dalvikvm-heap(2212): Grow heap (frag case) to 29.258MB for 19440016-byte allocation 

回答

1

在Android应用程序,你必须采取大小的位图少在您的应用程序。您可以通过PhotoShop缩小尺寸。

+0

我已经调整图像,,但 –

+0

可以粘贴之前要进行解码,在负载本身,,应用采取堆内存29 MB,即同时通过超()方法构造...所有位图的总位图大小? –

0

你可以压缩你的位图采样大小。欲了解更多关于如何做抽样如果想知道我的答案here

+0

问题是不是,如果我也使用一个图像,,而加载应用程序,应用程序占用堆内存29 MB,即在构造函数中传递super()方法 –

+0

尝试回收您的位图。 – Rahul

+0

@rahulkapoor如果在函数中存在可绘制的返回位图,那么在函数返回后如何实际回收位图。 – zIronManBox

0

您需要尽可能减少位图图像。 您可以使用

Bitmap newImage = Bitmap.createScaledBitmap(photo, width, height, true); 
+0

问题是不是,如果我也使用一个图像,同时加载应用程序,应用程序占用堆内存29 MB,即在构造函数中传递超()方法 –

+0

我得到了你。你需要检查你的应用程序为什么要加载这些内存。什么是启动加载的数据? 你能分享你的活动和布局吗? –

+0

@TechBee您是否找到适合您的问题的解决方案? – zIronManBox

相关问题