largeHeap = true清单标签不起作用?
问题描述:
我正在开发一个非常耗费内存的应用程序,并且想要使用largeHeap-Tag,这会给应用程序多一点内存。无论我在AndroidManifest.xml中设置了这个标记,它对我给出的实际内存都没有影响。 I'm读出我的最大内存是这样的:largeHeap = true清单标签不起作用?
Log.v("Utils","Max Mem in MB:"+(Runtime.getRuntime().maxMemory()/1024/1024));
我的清单长得挺像的:
<application android:label="@string/app_name" android:hardwareAccelerated="true" android:largeHeap="true" android:debuggable="true">
<activity android:name=".EntryActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
I'm在模拟器中运行3.1 ,我上面的日志输出总是48MB。有人可以帮忙吗?
答
事实上,大堆将与普通堆一样,直到您的应用程序需要更多内存才能完成任务。你的虚拟机将在控制台上显示这样的消息:
06-30 15:38:14.770: INFO/dalvikvm-heap(9075): Grow heap (frag case) to 42.365MB for 6152016-byte allocation
06-30 15:38:16.680: INFO/dalvikvm-heap(9075): Grow heap (frag case) to 39.739MB for 3517456-byte allocation
不是为了避免这个问题,但你使用这种内存的目的是什么? – Nick 2011-05-20 17:07:08
我打赌的图像处理! – binnyb 2011-05-20 17:13:07
......如果还有其他方法可以修改高分辨率图片,这将非常受欢迎。但我没有找到另一种方式,而不是使用非常大的位图。 – stk 2011-05-20 17:47:49