android内存管理小结
来源:互联网 发布:百度自动营销软件 编辑:程序博客网 时间:2024/06/06 15:38
- dalvik.vm.heapsize=16m
这个参数是指分配给一个虚拟机的最大堆内存。如系统每打开一个应用程序,就要为其分配一个虚拟机。可以通过getprop | grep dalvik.vm.heapsize查看此值。
栈(stack)与堆(heap),堆(HEAP)是VM中占用内存最多的部分,通常是动态分配的,存取速度比较慢。
两个options为java应用程序分配内存(jvm中进行的操作):
Xms - sets initial java heap size
Xmx - sets maximum java heap size在/dalvik/vm/init.c下:
gDvm.heapSizeStart----内存堆初始申请大小
gDvm.heapSizeMax------dalvik内存堆申请最大不能超过,超过便导致OOM了。
堆的大小有一个分配机制来控制。比如初始的HEAP是4M大,当4M的空间被占用超过75%的时候,重新分配堆为8M大;当8M被占用超过75%,分配堆为16M大。倒过来,当16M的堆利用不足30%的时候,缩减它的大小为8M大。
heap空间完全由程序员控制,我们使用的malloc、C++ new和java new所申请的空间都是heap空间, C/C++申请的内存空间在native heap中,而java申请的内存空间则在dalvik heap中。所以dalvik.vm.heapsize不包括JNI申请的内存!也可以通过多开进程来增加程序可获得的RAM!
使用dumpsys meminfo + packagename/pid:可以看到程序占用的heap sizes。
- android内存管理小结
- IOS内存管理小结
- C++ 内存管理小结
- IOS内存管理小结
- 内存管理小结1
- 内存管理小结
- OC 内存管理小结
- oc内存管理小结
- IA-32内存管理小结
- Java内存分配、管理小结
- Java内存分配、管理小结
- Java内存分配、管理小结
- 【Object-C】内存管理小结
- Java内存分配、管理小结
- Java内存分配、管理小结
- objective-c 内存管理小结
- Java内存分配、管理小结
- Java内存分配、管理小结
- 在gtk+程序中显示中文说明
- DWZ(JUI) 教程 获取 dom 节点 应注意的问题
- JavaEE 7 最全教程集锦
- 开源 免费 java CMS - FreeCMS1.4-标签 link
- 福客特-逸途在2013北京房车露营展
- android内存管理小结
- 笑话1
- Linux下的定时任务
- Qt 打开文件夹
- 项目代码管理 - 多Eclipse客户端做同一个项目
- Vs2010程序打包详细操作(经实践验证)
- Stand Steps to resovle Confict
- C# 显示隐藏任务栏
- 萨师煊大数据研究中心第二届"大数据视点"研讨会