Android 内存限制

Android是一个多任务系统, 为了保证多任务的运行, Android给每个App可使用的Heap大小设定了一个限定值.

这个值是系统设置的prop值, 系统编译时内置的, 保存在system/build.prop中. 一般国内的手机厂商都会做修改, 根据手机配置不同而不同, 可以通过如下命令查看:

$ adb shellshell@hwH60:/ $ cat /system/build.prop

以手头的Huawei 荣耀6为例, heap size相关的prop如下:

dalvik.vm.heapstartsize=8mdalvik.vm.heapgrowthlimit=192mdalvik.vm.heapsize=512mdalvik.vm.heaptargetutilization=0.75dalvik.vm.heapminfree=2mdalvik.vm.heapmaxfree=8m

其中:

dalvik.vm.heapstartsize

– App启动后, 系统分配给它的Heap初始大小. 随着App使用可增加.

dalvik.vm.heapgrowthlimit

– 默认情况下, App可使用的Heap的最大值, 超过这个值就会产生OOM.

dalvik.vm.heapsize

– 如果App的manifest文件中配置了largeHeap属性, 如下.则App可使用的Heap的最大值为此项设定值.

"true">    ...

– 当前理想的堆内存利用率. GC后, Dalvik的Heap内存会进行相应的调整, 调整到当前存活的对象的大小和 / Heap大小 接近这个选项的值, 即这里的0.75. 注意, 这只是一个参考值.

dalvik.vm.heapminfree

– 单次Heap内存调整的最小值.

dalvik.vm.heapmaxfree

– 单次Heap内存调整的最大值.

也可以直接使用getprop查看单项prop:
$ adb shell getprop dalvik.vm.heapsize
512m

更多相关文章

  1. 【Android(安卓)开发】:UI控件之 ListView 列表控件的使用
  2. android sql详细使用
  3. Android(安卓)getText(@string/a)和直接使用字符的区别
  4. android简单实例-----------------使用SQLiteOpenHelper以及SQLi
  5. Android伸手党系列之四:Android项目开发常用技术
  6. Android(安卓)Hilt的使用以及遇到的问题
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Android实现图片的倒影效果
  2. Opencv(3.3) & ZXing(Modify for scan QR
  3. 【Android】对JSONObject抛ConcurrentMod
  4. Android任意时刻、任意代码处全屏
  5. android的 Intent跳转失败,显示“很抱歉,**
  6. Android 欢迎界面淡出动画效果(Animation
  7. android 自动提示 中文
  8. Android(安卓)百度地图 SDK v3.0.0 (一)
  9. AndroidManifest.xml文件详解(uses-sdk)
  10. android上传图片(同步上传)