android应用程序的最大大小?

android应用程序的最大大小?,android,size,Android,Size,我很难找到最新的答案 到目前为止,我的目标是获得我的资源您将获得的最低堆空间是16MB,IIRC。您可能会获得高达64 MB的64 MB的,甚至更多,但您应该始终尝试在16 MB以下操作。请记住,如果您可能获得更多的堆空间,并且您确实尝试使用它,那么最终可能会从内存中替换其他应用程序,并给用户造成一些小问题或在某些情况下是大问题 并不是说你不能得到更多的空间。事实上,你应该让你的应用程序尽可能成为一个好的Android公民,并尽可能对设备友好。你可以通过以下方式获得最大的堆大小: Log

我很难找到最新的答案


到目前为止,我的目标是获得我的资源您将获得的最低堆空间是
16MB
,IIRC。您可能会获得高达64 MB的
64 MB的
,甚至更多,但您应该始终尝试在16 MB以下操作。请记住,如果您可能获得更多的堆空间,并且您确实尝试使用它,那么最终可能会从内存中替换其他应用程序,并给用户造成一些小问题或在某些情况下是大问题


并不是说你不能得到更多的空间。事实上,你应该让你的应用程序尽可能成为一个好的Android公民,并尽可能对设备友好。

你可以通过以下方式获得最大的堆大小:

    Log.d(TAG,"Memory Class: " + ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getMemoryClass());
    Log.d(TAG,"Heap size: " + Runtime.getRuntime().maxMemory());
如果您正在加载大PNG文件,您应该寻找如何在Android上处理大图像的最佳实践,但请记住,BitmapFactory的一些选项对图像的加载方式有很大影响:

-在高屏幕密度的新设备中,当设置为inScaled时,位图内存大小可能会增加2或3倍

-ARGB类型可能从每像素2个字节(RGB_565和ARGB_4444)变为4个字节(ARGB_8888),因此系数再次为2


祝你好运。

好的,谢谢!那我就要保守了。谢天谢地,它缩小了我的照片,如果我必须有4个版本的每一张照片,我会doomed@Max:heap size与应用程序的资源(如资产)无关。嗯,heap size是对象使用的内存量吗?如何检查堆大小?这对我来说是新的。Heap size是你的应用程序在最大值时可以分配的内存量。它包含图像、对象、布局和所有内容。至于检查可用的堆,一个简单的搜索就会告诉你。是的,是的,修复了DDMS/mat,显然我使用23k堆。即使我的菜单由1个背景+2个按钮组成,也占据了19k堆。一点也不明白。而且atm mat并没有告诉我任何事情:P我从来并没有经历过任何滞后或outOfMemory错误,所以这对我来说是一个惊喜。