AndroidManifest.xml文件<applicatiion>中能夠設置 android:largeHeap="true"
我使用的測試設備爲Nexus5 系統爲5.0
安卓設備對應用內存的限制,通常在/system/build.prop文件中能夠查看到
dalvik.vm.heapsize=512m(最大內存限制)
dalvik.vm.heapgrowthlimit=192m(普通內存限制)
當設置爲android:largeHeap="true" 時
內存溢出
03-03 15:21:51.480: I/art(11679): Clamp target GC heap from 513MB to 512MB
當設置爲android:largeHeap="false" 時
內存溢出
03-03 15:29:00.711: I/art(14283): Clamp target GC heap from 205MB to 192MB
測試方法爲不斷的加載圖片到內存,好比
Bitmap bitmap[] = new Bitmap[300];
for (int i=0; i<bitmap.length; i++) {
bitmap[i] = BitmapFactory.decodeResource(getResources(), R.drawable.eee);
}
得到最大內存限制:
android3.0及以上可調用此方法
((ActivityManager)getSystemService(Context.ACTIVITY_SERVICE)).getLargeMemoryClass();android