android - AnimationDrawable 内存不足问题

标签 android out-of-memory animationdrawable

我需要在 ImageView 上显示帧动画。我正在使用 AnimationDrawable 在某些点击事件上播放动画。如果我显示单个动画,它的工作正常。但根据单击的按钮,我需要显示三个不同的动画。当我播放第二个动画时,会抛出 OutOfMemoryError 。正如同一问题上的其他一些帖子所建议的,我在动画结束后回收位图。但在应用程序中,再次单击相同的按钮时,我需要显示相同的动画。但当我尝试使用回收的位图时,它不起作用......有解决这个问题的方法吗???

最佳答案

以下表单评论:您加载了太多数据。

假设 ARGB 图像:

width x height x images x colordept = bytes used
450 * 420 * 20 * 4 = 30240000.

加载完整动画时,大小为 14 MiB。这肯定会炸毁你的公羊。

关于android - AnimationDrawable 内存不足问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19332598/

相关文章:

android - 从 IntentService 使用 ContentProvider

java - Android 中带旋转的 ImageView

android - 依次播放 2 个 animationdrawables

android - Android抛出的异常日志有什么方法可以上传到Server

Android 阻止返回到上一个 Activity

android - 从 android.view.GLES20DisplayList 释放位图

java - 在 Maven 中使用 FindSecBugs 会抛出 java.lang.OutOfMemoryError

java - 为什么会出现 GC 开销超出限制的情况?

android - AnimationDrawable 在 getBackground() 上获取 null

android - 这个 Activity 已经有一个由窗口装饰提供的操作栏