android - 使用 AnimationDrawable 制作大型动画

标签 android animation

我正在尝试使用 AnimationDrawable 逐帧动画来制作一些动画。
当我使用此代码加载动画时:

animationHolder.setBackgroundResource(R.drawable.secondanimation);
frameAnimation = (AnimationDrawable)animationHolder.getBackground();

用户界面在几秒钟内没有响应 (3-5)。我猜这是因为它必须加载大量图像(准确地说是 140 png,400px X 300px,每张 50KB)。

当我开始动画时,它运行良好,至少在我的 HTC Desire 上是这样。

如果我在模拟器中运行相同的代码,我会得到:“OutOfMemoryError”和“位图大小超出 VM 预算”。

处理大型动画的正确方法是什么?我想应该有某种“延迟动画加载”。 类似的东西是否已经存在,或者我必须推出某种自定义 View ?

其他热门应用如何像“会说话的汤姆猫”二重唱?

最佳答案

你不会那样做动画...如果你需要做大量的动画,看看 opengl。 Android 无法处理太多图像,因为它使用有限的位图内存。

关于android - 使用 AnimationDrawable 制作大型动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8449101/

相关文章:

android - ActionBar 中的 SearchView 可绘制对象显得模糊

java - 使用 Jsoup 从 url 获取数据时停止工作错误

java - 如何从 java android 中的相机预览中获取字节数组?

jquery - 在不破坏动画效果的情况下将 'flip card' div 放置在页面的不同部分

javascript - Chrome 中的 Element.scrollIntoView() 方法动画速度太慢

Android ViewPager2如何检索 fragment onBindViewHolder

android - 屏幕关闭时的 AccessibilityService OnKeyEvent

android - 在android中播放高分辨率帧动画的最佳方法

java - 在 Javafx 中为新的 ListView 条目设置动画

javascript - 如何在 Javascript 中将脉冲动画添加到 div 数组中的 div?