我很难找到更新的答案。
到目前为止,我一直致力于降低资源<16mb。但是,随着我的进一步变得越来越难,我的意思是,1000x1000 .Png文件使用大约1mb。
显然我的目标是保持尽可能小,但我应该开始担心什么尺寸?计划发布Android&gt; 2.1
答案 0 :(得分:1)
您将获得的最低堆空间是16 MB
,IIRC。您有可能获得64 MB
甚至更多,但您应该始终尝试在16 MB以下运行。请记住,如果您可能获得更多的堆空间,并且您尝试使用它,最终可能会从内存中取代其他应用程序,并导致一些轻微或在某些情况下会给用户带来重大问题。
并不是说你无法获得更多空间。事实是,您应该尽可能使您的应用成为一名优秀的Android公民,并尽可能地使用该设备。
答案 1 :(得分:0)
您可以通过以下方式获得最大的healp大小:
Log.d(TAG,"Memory Class: " + ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getMemoryClass());
Log.d(TAG,"Heap size: " + Runtime.getRuntime().maxMemory());
如果您要加载大型PNG文件,您应该寻找有关如何在Android上处理大图像的最佳做法,但请记住,BitmapFactory的一些选项会对图像的加载方式产生巨大影响:< / p>
-inScaled设置时可能会在具有高屏幕密度的新设备中将位图内存大小增加2或3倍,
-ARGB类型可以从每像素2个字节(RGB_565和ARGB_4444)变为4个字节(ARGB_8888),因此再次为2。
祝你好运。