我在我的drawables中有100多个图像(帧),每个图像的大小为1-5 kbs(分辨率为480 x 272)。现在当我在动画列表xml中添加这些图像(帧)并尝试运行它时,我得到了这个OutOfMemory错误,我在互联网上搜索但找不到我要找的东西。所以任何人都可以告诉我该怎么做才能克服这个错误
答案 0 :(得分:5)
<强> Read Article 强>
在manifest.xml中做一件事
<application
android:largeHeap="true">
</application>
的 Or
强> 的
在runOnUiThread (Runnable action)
或AsyncTask
的 Or
强> 的
单张图片需要记忆:
在这种情况下,您有100张图片,尺寸为400 * 262。
那么,100 * 400 * 262 * 4 =? KB,大小在加载时发生。如果动画超出了虚拟堆内存的限制。
错误将发生错误。
为此:
减少图片的dimensions
或
为动画使用较少的图像
或
一次完成后 split into two animation file
再开始另一次
于2015年6月16日编辑
尝试使用Handler
并在几毫秒后调用Handler。它还会减少内存问题(OOM)。