Android中的Dalvik虚拟机的内存管理简单了解
来源:互联网 发布:深圳淘宝学院 编辑:程序博客网 时间:2024/06/08 02:45
Dalvik虚拟机的内存分为三种类型: Java Object Heap, Bitmap Memory, Native Heap. 下面,就这三种类型进行详细讲解:
一. Java Object Heap:
Java Object Heap是用来分配Java对象的,代码中new出来的Java对象都在Java Object Heap中。 Java Object Heap最小值和最大值默认是2M和16M, 不过不同的手机可能设置不同的值。 在SDK中的ActivityManager, 使用getMemoryClass来获取本机的最大值。
Java Object Heap的最大值也就是我们平时所说的Android应用程序进程能够使用的最大内存。这里必须要注意的是,Android应用程序进程能够使用的最大内存指的是能够用来分配Java Object的堆。
二. Bitmap Memory:
BitmapMemory 也称为External Memroy ,是用来处理图像的。 在Android3.1之前,BitmapMemory是在Native Heap中进行分配, 但是这部分内存同样计入到了Java ObjectHeap中 。在3.1之后的版本中, BitmapMemory直接在Java Object Heap中进行分配,可以接收GC管理了。
三. Native Heap:
在Android Native Code中使用malloc分配出来的内存,就是Native Heap. 这部分内存不受Java Object Heap限制,可以自由使用,但是会受到系统限制。
在Android3.1以及更高的版本中,我们可以在AndroidManifest.xml的application标签中增加一个值等于“true”的android:largeHeap属性来通知Dalvik虚拟机应用程序需要使用较大的Java Object Heap。事实上,在内存受限的手机上,即使我们将一个应用程序的android:largeHeap属性设置为“true”,也是不能增加它可用的Java Object Heap的大小的,而即便是可以通过这个属性来增大Java Object Heap的大小,一般情况也不应该使用该属性。
本文转自:http://www.cnblogs.com/xinyuyuanm/p/3206529.html
- Android中的Dalvik虚拟机的内存管理简单了解
- Dalvik虚拟机的内存管理
- android的dalvik虚拟机
- android的dalvik虚拟机
- Android Dalvik 内存管理学习。
- Android Dalvik 内存管理学习
- Android Dalvik 内存管理学习
- Dalvik 虚拟机(了解一下)
- Android内存管理、Android中Dalvik和JVM的区别
- Windows下的内存管理简单了解
- Android Dalvik虚拟机内存分配问题
- Android Dalvik虚拟机内存分配问题
- Android Dalvik虚拟机内存分配问题
- Android Dalvik虚拟机内存分配问题
- Android Dalvik虚拟机内存分配问题
- ANDROID的DALVIK虚拟机简介
- Android的虚拟机Dalvik 介绍
- android的Dalvik虚拟机简介
- URL中斜杠/和反斜杠\的区别小结
- 策略模式
- 【VS2013】OpenCl环境搭建&helloworld
- MediaPlayer提示“无法播放视频”
- PHP程序防止ddos,dns,集群服务器攻击
- Android中的Dalvik虚拟机的内存管理简单了解
- 设计模式(4)--静态代理模式
- 自动获取短信中的验证码
- 关于C语言学习小册
- Android开发 回调的理解
- 第五章第五节-bean的范围
- RadioButton和CheckBox的区别,RadioButton&RadioGroup
- Quartz与Spring的整合使用
- iOS之UI学习-UIButton