【问题标题】:Android Frame by Frame Animation issue out of memory or slow animationAndroid逐帧动画问题内存不足或动画缓慢
【发布时间】:2016-07-25 05:47:35
【问题描述】:

从过去 3 天开始,我很难在我的应用程序中执行逐帧动画。我在可绘制文件夹中有大约 90 张图像来执行动画。

首先我尝试了AnimationDrawbale,但出现内存不足错误。我也申请了android:LargeHeap="true",但仍然是内存不足。

其次我尝试了这个类https://github.com/tigerjj/FasterAnimationsContainer/blob/master/src/com/tigerlee/libs/FasterAnimationsContainer.java,但这里的问题是动画非常慢。我希望它非常流畅。

请帮忙。从很久以前就卡在里面了。

【问题讨论】:

    标签: android out-of-memory android-animation animationdrawable


    【解决方案1】:

    不幸的是,逐帧动画需要大量内存,并且(取决于所涉及的帧大小和数量)会很快导致OutOfMemoryExceptions,因为它们会同时加载所有帧。单独检索每一帧会导致动画变慢,因为系统必须在显示之前读取每一帧。因此,根据您的情况,您可以选择以下选项:

    • 删除动画:在仔细考虑了(在我的情况下加载)动画的必要性之后,我自己选择了这个选项几次。逐帧动画会带来巨大的性能损失,这是不值得的。
    • 调整您的动画:为了降低动画的内存使用量,您应该考虑降低帧的分辨率或所涉及的总帧数(或两者兼而有之)。
    • 使用其他动画:还有其他可用的动画选项,包括自 API 级别 11 起的 Animator 和自 API 级别 11 起的 AnimatedVectorDrawable(使用支持库)。根据您拥有的动画类型,您可以迁移到这两种动画中的一种。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 2019-12-03
      • 2013-01-14
      相关资源
      最近更新 更多