【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"时,内存提升显著

你可能感兴趣的:(【Android】探究android:largeHeap="true"的神秘面纱)