最近给android系统的内存限制问题折腾的蛋疼,网上说android的一个activity只有16M内存,有的说java申请的空间和c中申请的空间总和是16M,我汗啊~ 我得显示20M的bitmap图片。。。。。
以下是个人测试数据,供参考:
1.系统:android 3.0
2.用如下方式获取到app的内存总量是48M。
ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.getMemoryClass();
3.只在JNI中
NewIntArray数组,可以分配到42M空间。测试方式:循环分配,直到出现VM abort!
4.只在Java中new 整数数组,可以new出int数组42M。
5.如果JNI中new出来的空间都返回给Java,那么JNI中newIntArray的空间和Java中new出来的空间总和是42M。
以上为个人测试数据,由于对android了解不多,不能说出其中道理。