关于heapsize & heapgrowthlimit
来源:互联网 发布:unity3d 怎么用 编辑:程序博客网 时间:2024/06/06 00:07
Android设备出厂以后,java虚拟机对单个应用的最大内存分配就确定下来了,超出这个值就会OOM。这个属性值是定义在/system/build.prop文件中的
dalvik.vm.heapstartsize=8m它表示堆分配的初始大小,它会影响到整个系统对RAM的使用程度,和第一次使用应用时的流畅程度。
它值越小,系统ram消耗越慢,但一些较大应用一开始不够用,需要调用gc和堆调整策略,导致应用反应较慢。它值越大,这个值越大系统ram消耗越快,但是应用更流畅。
dalvik.vm.heapgrowthlimit=64m // 单个应用可用最大内存
主要对应的是这个值,它表示单个进程内存被限定在64m,即程序运行过程中实际只能使用64m内存,超出就会报OOM。(仅仅针对dalvik堆,不包括native堆)
dalvik.vm.heapsize=384m//heapsize参数表示单个进程可用的最大内存,但如果存在heapgrowthlimit参数,则以heapgrowthlimit为准.
heapsize表示不受控情况下的极限堆,表示单个虚拟机或单个进程可用的最大内存。而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机(这样设计就会在单个程序崩溃的情况下不会导致整个系统的崩溃)。
注意:在设置了heapgrowthlimit的情况下,单个进程可用最大内存为heapgrowthlimit值。在android开发中,如果要使用大堆,需要在manifest中指定android:largeHeap为true,这样dvm heap最大可达heapsize。
不同设备,这些个值可以不一样。一般地,厂家针对设备的配置情况都会适当的修改/system/build.prop文件来调高这个值。随着设备硬件性能的不断提升,从最早的16M限制(G1手机)到后来的24m,32m,64m等,都遵循Android框架对每个应用的最小内存大小限制,参考http://source.android.com/compatibility/downloads.html 3.7节。
通过代码查看每个进程可用的最大内存,即heapgrowthlimit值:
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
int memClass = activityManager.getMemoryClass();//64,以m为单位
获取Android手机应用内存大小
手机不同其性能也不同,手机本身内存可能有大有小,所以针对每个应用的内存大小也不相同。
方法二:
方法三:
方法四:
阅读全文
0 0
- 关于heapsize & heapgrowthlimit
- android heapStartSize heapMaximumSize heapGrowthLimit heapSize说明
- 关于dalvik.vm.heapsize的修改问题,引用百度文档
- increase dalvik vm heapsize
- JVM HeapSize Permsize
- absoluteMaxSize dalvik.vm.heapsize
- easyhadoop heapsize 113.81
- 获取Android设备heapsize
- JVM HeapSize Permsize
- Modify Android dalvik.vm.heapsize.
- Android应用性能测试 heapsize
- tomcat下java heapsize 的设置
- android 如何使用命令设置heapsize
- android 如何使用命令和代码设置heapsize
- android app不受build.prop中的dalvik heapsize限制
- android 重复进入app heapSize不断增大的问题
- 如何在eclipse中给tomcat增加JVM的heapsize
- 线程安全:分配堆与内存 API:HeapCreate HeapAlloc HeapSize HeapFree HeapDestroy
- Unity将模型显示在UI上面
- struts2_条件查询、删除、自定义异常
- python学习(1)-print与input
- bootstrap-table复选框默认选中。(从数据库获取到对应的状态进行判断是否为选中状态)
- Android酷炫实用的开源框架(UI框架)
- 关于heapsize & heapgrowthlimit
- myeclipse安装SVN 插件
- der pem cer crt key pfx等概念及区别
- Arduino UNO DS3231高精度RTC芯片 制作时钟
- 拒绝无用功,封装一个通用的 PopupWindow
- springBoot service 事务注解@Transactional不起作用的解决
- Wkwebview sdf
- 关于PHP程序员技术职业生涯规划【转】
- JMeter参数化