我的可绘制对象中有 100 多个图像(帧),每个图像大小为 1-5 kbs(分辨率为 480 x 272)。现在,当我在动画列表 xml 中添加这些图像(帧)并尝试运行它时,我得到了这个 OutOfMemory 错误,我在互联网上搜索但找不到我要找的东西。所以任何人都可以请告诉我应该怎么做才能克服这个错误
问问题
3234 次
1 回答
5
在 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)。
于 2013-10-30T06:02:59.207 回答