我的可绘制对象中有 100 多张图片(帧),每张图片大小为 1-5 kbs(分辨率为 480 x 272)。现在,当我在动画列表 xml 中添加这些图像(帧)并尝试运行它时,我得到了这个 OutOfMemory 错误,我在互联网上搜索过但找不到我要找的东西。所以任何人都可以告诉我我应该怎么做才能克服这个错误
最佳答案
在 manifest.xml 中做一件事
<application
android:largeHeap="true">
</application>
或
在 runOnUiThread (Runnable action)
或 AsyncTask
中调用动画
或
单图需要内存:
在这种情况下,您有 100 张图片,尺寸为 400*262。
所以,100 * 400 * 262 * 4 =? KB ,大小发生在加载时间。如果动画超出了虚拟堆内存的限制。
错误会挑衅地发生。
为此:
减少图像的尺寸
或者
使用较少的动画图片
或
分割成两个动画文件
一个完成后开始另一个
2015 年 6 月 16 日编辑
尝试使用 Handler
并在几毫秒后调用 Handler。它还将减少内存问题 (OOM)。
关于android - 动画列表android中的OutOfMemory错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19674906/