Android 內存 - 獲取單個應用內存限制
來源:程序員人生 發布時間:2014-12-17 08:07:35 閱讀次數:3612次
1、問題出現OutOfMemeryError的緣由?
Androd針對每一個利用有內存限制
2、為何每一個利用都限制最大內存使用?
1. 可以多任務同時運行,不可能每一個任務都占用盡量多的內存
2. 如果堆很大,垃圾回收需要太多的時間
緩存的清算需要先暫停所有利用,然落后行清算、整理。大概3、4、5毫秒
Google I/O 2011: Memory management for Android Apps
3、獲得Android手機利用內存大小
手機不同其性能也不同,手機本身內存可能有大有小,所以針對每一個利用的內存大小也不相同。
方法1:
adb shell getprop | grep dalvik.vm.heapgrowthlimit
[dalvik.vm.heapgrowthlimit]: [64m]
方法2:
ActivityManager activityManager =(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryClass();
activityManager.getLargeMemoryClass();
方法3:
adb shell cat /system/build.prop
dalvik.vm.heapstartsize=8m
dalvik.vm.heapgrowthlimit=64m
dalvik.vm.heapsize=256m
方法4:
Runtime.getRuntime().maxMemory()
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈