【Android】探究android:largeHeap="true"的神秘面纱

测试手机:一部root过的nexus 5 Android5.0的原生系统, 一部华为honor 8 标准版 Android 7.0的EMU系统 ,一部安卓一体机 安卓原生4.4.2系统
在android:largeHeap="false"时,
int maxMemory = (int) Runtime.getRuntime().maxMemory();
Log.i("给应用分配的最大内存是:",maxMemory+"");
ActivityManager activityManager = (ActivityManager) (getSystemService(Context.ACTIVITY_SERVICE));
int memorySize = activityManager.getMemoryClass();
int largeMemorySize = activityManager.getLargeMemoryClass();
Log.i("memorySize内存是:",maxMemory+"");
Log.i("largeMemorySize内存是:",maxMemory+"");
华为手机测试结果:
给应用分配的最大内存是:: 402653184
memorySize内存是:: 402653184
largeMemorySize内存是:: 402653184
402653184字节等于384M

nexus测试结果:
给应用分配的最大内存是:: 201326592
memorySize内存是:: 201326592
largeMemorySize内存是:: 201326592
201326592字节等于192M

安卓一体机测试结果:
给应用分配的最大内存是:: 67108864
memorySize内存是:: 67108864
largeMemorySize内存是:: 67108864
67108864字节等于64M

当在android:largeHeap="true"时,

华为手机测试结果:
给应用分配的最大内存是:: 536870912
memorySize内存是:: 536870912
largeMemorySize内存是:: 536870912
536870912字节等于512M

nexus测试结果:
给应用分配的最大内存是:: 536870912
memorySize内存是:: 536870912
largeMemorySize内存是:: 536870912
536870912字节等于512M

安卓一体机测试结果:
给应用分配的最大内存是:: 402653184
memorySize内存是:: 402653184
largeMemorySize内存是:: 402653184
402653184字节等于384M

结果比较有意思,5.0以前的机器,android:largeHeap="true"时,内存提升显著

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Redis的内存优化 声明:本文内容来自《Redis开发与运维》一书第八章,如转载请声明。 Redis所有的数据都...
    meng_philip123阅读 18,926评论 2 29
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,845评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,914评论 25 708
  • 秋风起,夏意黯然。时间的推移,炎热的夏天早就悄悄退去。他又要去往山东,而我,又要去往四川。有人问:你们俩离的这么远...
    眼泪丶是我唯一的奢侈阅读 296评论 0 1
  • from bs4 import BeautifulSoup path='./1_2_homework_requir...
    王小坤_GO阅读 212评论 0 0