美文网首页
Android系统对应用的内存限制

Android系统对应用的内存限制

作者: 方衍 | 来源:发表于2016-11-09 15:27 被阅读783次

</br>
Android设备出厂以后,Java虚拟机对单个应用的内存分配就固定下来了,超出这个值就会OOM。

</br>
这个属性值定义在 /system/build.prop中(以我的Nexus7为例)。

dalvik.vm.heapgrowthlimit=192m // heapgrowthlimit参数表示单个应用最大可用内存

这表示单个应用最大可用内存是192m,超出就会报OOM。这个内存溢出是针对dalvik堆而言,而不是native堆。

通过代码查看每个进程可用的最大内存,即heapgrowthlimit值:

ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
int heapGrowthLimit = am.getMemoryClass(); // 192,以m为单位

</br>

dalvik.vm.heapstartsize=16m // heapstartsize参数表示堆内存分配的初始大小

堆内存分配的初始大小会影响整个系统对RAM的使用程度,和第一次使用应用的流畅速度。

它值越小,系统ram消耗越慢,但一些较大的应用一开始不够用,需要调用gc和堆调整策略,导致应用反应较慢。

它值越大,系统ram消耗越快,但是应用更流畅。

</br>

dalvik.vm.heapsize=512m // heapsize参数表示单个进程可用的最大内存

heapsize表示不受控情况下的极限堆,表示单个进程可用的最大内存。但如果存在heapgrowthsize参数,则以heapgrowthsize定义为最大内存。

android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的优点就是在单个程序崩溃的情况下不会导致整个系统的崩溃。

</br>
一般地,厂家针对设备的配置情况都会适当的修改/system/build.prop文件来调高这个值。随着设备硬件性能的不断提升,从最早的16M限制(G1手机)到后来的24m,32m,64m等,都遵循Android框架对每个应用的最小内存大小限制。

在应用开发中,如果要使用大堆,可在manifest文件中指定android:largeHeap为true,这样dalvik的堆内存可以达到heapsize。
</br>

相关文章

  • android app内存使用限制

    1. app内存限制   Android系统对每个APP有一个逻辑内存限制,就算物理内存富余,如果应用超出APP逻...

  • Android创建多进程

    为何要使用多进程 1.分散内存的占用我们知道Android系统对每个应用进程的内存占用是有限制的,而且占用内存越大...

  • IPC__ALL

    IPC机制的使用场景: Android对单个应用使用的最大内存做了限制,需要获取更多的内存 当前应用需要向其他应用...

  • Android系统对应用的内存限制

    Android设备出厂以后,Java虚拟机对单个应用的内存分配就固定下来了,超出这个值就会OOM。 这个属性值定义...

  • 高效加载BitMap

    在Android加载图片时,我们常常使用BitMap,但由于Android对单个应用施加的内存限制,常导致我们加载...

  • 大文本数据的数据库存储

    要点#### 文件数据的读取相较数据库的存储较快 Android系统对单个应用的内存有限制 数据库操作中对数据的批...

  • Android系统内存不足时,应用被系统回收发生了什么?

    android系统内存不足时,应用被系统回收发生了什么? Android 操作系统的内存回收机制

  • Android Bitmap高效加载

    由于Android对单个应用所施加的内存限制,比如16MB,这导致加载Bitmap的时候很容易出现内存溢出,本文主...

  • Android内存简括

    Android手机对应用都有个最大内存使用限制 Android代码中内存使用注意点 String拼接采用Strin...

  • 有关性能优化

    1)内存优化 首先了解内存的管理机制: 1.共享内存 2.限制应用内存: Android为每个应用程序设置一个硬性...

网友评论

      本文标题:Android系统对应用的内存限制

      本文链接:https://www.haomeiwen.com/subject/fwxtpttx.html