想必大家都知道,安卓手机的内容越来越大了,3、4g几乎成了标配,内存这么大,为什么手机用起来还是卡嘞,当然这本身与安卓系统的碎片化有关,毕竟是个开源系统,大家改改加加都成为各大厂商的习惯了!! 我们来趴趴安卓手机一个App占用多大内存的小秘密,很多同学应该都不知道,谷歌原生的android系统的每个app做了内存限制,早期版本的android系统(比如1.5,1.6,2.1等),每个app的内存不能够超过16M。真的你没看错,只有16M,然而16M怎么可能够用??? 然而16M又不是不得不这么做,android开发不可避免的碰到内存管理,有时会碰到内存溢出的问题。内存溢出是个很麻烦是个很麻烦的问题,因为App跑着跑着可能就崩了,不确定性太高啦,不过这个限制在android系统4.0开始就取消了,开发者在工程的AndroidManifest.xml中可以使用android:largeHeap="true"增加app对内存的使用限制。虽然谷歌原生OS的默认值是16M,但是各个厂家的OS会对这个值进行修改。比如小米2S,这个值应该是96M。 为了搞清楚每个应用程序在Android系统中最多可分配多少内存空间,我们使用了真机进行测试,测试机型为魅族MX4 Pro,3G内存。 测试方法是直接申请一块较大的内存空间,看应用程序在最多申请多大的内存空间时会崩溃。 结果:(1)未设定属性android:largeheap = "true"时,可以申请到的最大内存空间为221M。 (2)设定属性android:largeheap = "true"时, 可以申请的最大内存空间为478M,是原来的两倍多一些。 网上有网友提出可申请到的最大内存空间与手机配置有关,以后会加以验证。 一款壁纸app,在app中会浏览丰富的高清图片,app占用内存在720p的手机上一般会达到60多M,在1080p的手机上一般会达到100M左右。显然一个App达到了100M就显得太多啦。 而笔者亲测微信的内存占用居然达到了235M,哇,这也太多了!! 随着手机全面进入64位时代,手机芯片工艺的不断提升,尤其是用户需求的提升,相信内存还将不断上升,8GB、16GB是迟早的事。对于大众消费者,尤其对于安卓用户来说,选用手机时不能单看内存的绝对大小,更需要关注手机的可用空闲内存大小,不要被商家打出的大内存卖点所忽悠,需要擦亮眼睛。 |