我需要在 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/