android - 超过 5 帧的帧动画失败 - 240dpi

标签 android animation frame

我有一个包含 135 帧的帧动画,每秒应该交换 25 次。帧为 700X1000 像素,240 dpi。我遇到的问题是,每当我在 XML 动画文件中定义超过 5 帧时,应用程序就会崩溃。这些框架位于可绘制文件夹中。我尝试将它们复制到 drawable-xhdpi 但这并没有解决问题。

谢谢, 西蒙

最佳答案

加载图像会占用 32MB 或 64MB 的所有堆内存(您的应用程序可用的内存)的问题。图像作为 ARGB 中的位图加载到堆上 - 每个像素 4 个字节。尝试对动画图像进行子采样。您的动画有 135*700*1000*4 字节 = 360.5 MB。

您可以将方法 decodeResource 与具有参数 inSampleSize 的 BitmapFactory.Options 选项一起使用您可以在其中设置图像的子采样。还有参数inPreferredConfig可用于设置 RGB_565 而不是 ARGB_8888,以防您不需要图像的透明度。

关于android - 超过 5 帧的帧动画失败 - 240dpi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101005/

相关文章:

ios - iOS 中非常自定义的 UIButton 动画

c# - 我如何从框架中获取页面实例?

android - 模态对话框不会使 android 上的背景变暗

android - 如何在Android项目中从头开始设置DAGGER依赖注入(inject)?

onRequestPermissionsResult 中的 java.lang.StackOverflowError (Android)

c++ - 使用 DirectShow 按请求读取帧

opencv - 如何将帧数据从 FFmpegSource2 (FFMS2) FFMS_Frame 结构复制到 OpenCV Mat?

android - Google Maps Android API v2 - MarkerOptions 可拖动和可见方法

javascript - JQuery 在 stop() 调用后重新启动动画

jquery - 向左滑动比向右滑动