我有一个小动画 ( AnimationDrawable
),它由 9 帧组成,分辨率为 480x800。
当我在“旧”SGS1 上使用动画运行该活动时,一切都很好。现在我得到了 S3,完全相同的代码给了我一个outofMemoryError
. 这不是我对 QuadCore/1GB RAM 手机的期望。当我降低动画的分辨率时,一切正常。
他们真的减少了内存/堆吗?
我有一个小动画 ( AnimationDrawable
),它由 9 帧组成,分辨率为 480x800。
当我在“旧”SGS1 上使用动画运行该活动时,一切都很好。现在我得到了 S3,完全相同的代码给了我一个outofMemoryError
. 这不是我对 QuadCore/1GB RAM 手机的期望。当我降低动画的分辨率时,一切正常。
他们真的减少了内存/堆吗?
检查 /system/build.prop 文件并查找“dalvik.vm.heapsize” - 这应该是每个应用程序进程允许的内存堆大小的值
在我运行 Android 4.1.2的 S3 上,最大堆大小为 64MB(67108864 字节)。
您可以通过拨打电话获得此号码Runtime.getRuntime().maxMemory();
我见过提到 256MB,但这很可能只适用android:largeHeap
于在其清单文件中指定的应用程序。
它的 256mb 库存 s3 。您应该在本机堆上处理位图,而不是使用 .InPurgeable 选项