【问题标题】:Out of memory issues with AnimationDrawable [closed]AnimationDrawable的内存不足问题[关闭]
【发布时间】:2013-10-12 09:20:15
【问题描述】:

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

【问题讨论】:

  • 没有足够的信息来提供帮助。瞎猜:你的图片太大了。
  • 我的图片都是450*420,每个动画大约20帧..

标签: android out-of-memory animationdrawable


【解决方案1】:

following form cmets:你加载了太多数据。

假设 ARGB 图像:

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

加载完整动画时为 14 MiB。这保证会炸毁你的内存。

【讨论】:

  • 我明白你的意思..如果我使用单个动画,没有问题。那么有什么方法可以在动画完成时卸载第一个动画帧(通过 bitmap.recycle())并在以后再次需要时重新加载它。??
  • stackoverflow.com/questions/9082181/… 提到了一种回收它们的方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-18
  • 2013-08-07
  • 2015-04-15
相关资源
最近更新 更多