为android 应用申请更多内存

本文介绍了如何通过多种方式获取Dalvik虚拟机的初始分配内存大小,包括查看/system/build.prop文件、使用adb命令以及调用ActivityManager的方法。这些方法分别对应于虚拟机的-Xms、-XX:HeapGrowthLimit和-Xmx配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取Dalvik初始分配的内存大小

1. 查看/system/build.prop文件

 dalvik.vm.heapstartsize=8m
 dalvik.vm.heapgrowthlimit=192m
 dalvik.vm.heapsize=512m
  • dalvik.vm.heapstartsize=8m 相当于虚拟机的 -Xms配置,该项用来设置堆内存的初始大小。
  • dalvik.vm.heapgrowthlimit=192m 相当于虚拟机的 -XX:HeapGrowthLimit配置,该项用来设置一个标准的应用的最大堆内存大小。一个标准的应用就是没有使用android:largeHeap的应用。
  • dalvik.vm.heapsize=512m 相当于虚拟机的 -Xmx配置,该项设置了使用android:largeHeap的应用的最大堆内存大小。

2. 使用adb查看

  • adb shell getprop|grep dalvik.vm.heapstartsize 应用启动后分配的初始内存
  • adb shell getprop|grep heapgrowthlimit 单个标准应用程序最大内存限制(没设置android:largeHeap)
  • adb shell getprop|grep dalvik.vm.heapsize 单个dalvik虚拟机最大的内存限制(设置了android:largeHeap)

3.使用ActivityManager

ActivityManager activityManager =(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryClass();
activityManager.getLargeMemoryClass();
  • ActivityManager的getMemoryClass()获得内用正常情况下内存的大小
  • ActivityManager的getLargeMemoryClass()可以获得开启largeHeap最大的内存大小

在application元素上加入android:largeHeap=”true”申请大内存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值