AndroidManifest.xml 文件属性解析(持续更新)

1. android:installLocation=" auto | internalOnly | preferExternal"

上次恰巧碰到手机内存不足的问题,后面一查,发现手机上的app默认都安装到内存中了。只要将app移到存储上,但发现其中有些竟然不能移,原来是和这个属性有关。

auto:默认安装到内存中,但可以手动移至存储。

internalOnly:只能安装到内存中。

preferExternal:安装到存储中。

默认是internalOnly,如果未设置这个属性,那么app就不能移动到存储上了。


2. android:largeHeap="true"

既然扯到这个属性了,那就写一点有关android内存的东西吧。the baseline Android memory class is 16 (which happens to be the Java heap limit of those devices); some device with more memory may return 24 or even higher numbers.也就说android程序的内存一般在16M左右,当然可能24M或24M+。android内存分为两不部分:native和dalvik。两部分加起来不能超过设置的最大值,那么最大值在哪里设置的呢。不同机器的最大值设定各有不同,在/system/build.pro文件中。

获取当前机器的可用内存方法:

int availableMem = ((ActivityManager)getSystemService(Context.ACTIVITY_SERVICE)).getMemoryClass();
long availableMem2 = Runtime.getRuntime().maxMemory();
前者单位是M,后者是byte。

如MX2中的值:

dalvik.vm.heapgrowthlimit=192m
dalvik.vm.heapsize=512m

heapgrowthlimit就是app的最大内存值,heapsize么就是当android:largeHeap="true"所能用的最大值了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值