android:largeHeap屬性

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

相關文章
相關標籤/搜索