我有一个包含 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/