0

我是在 android 上创建动画的新手。

我正在尝试使用大量 .png 逐帧创建大型动画。

我有两个动画需要播放,一个是 100 帧大,另一个是 40 帧。

我目前正在使用 AnimationDrawable 来创建动画,但是在任何内存小于 1GB 的设备上我都得到“位图大小超过 VM 预算”(任何超过它的设备都可以正常运行)。

100 帧长的动画由 78*334 大小的图像创建,40 帧动画由 320*290 和 320*309 的不同图像大小创建。

我还需要能够在随机时间反转动画(目前我只是根据需要创建另一个动画,帧与当前帧相反,并且效果很好)

所以我想我的问题是如何在低端设备上没有内存不足的情况下创建具有大量帧(或动画外观)的多帧动画。

4

2 回答 2

2

我以前遇到过同样的问题,如果使用未压缩格式,在将动画列表声明为(在您的情况下)100frames*78px*334px*4bytes = 10,420,800 字节时减少内存使用量太痛苦了。我使用视频而不是图像序列我可以在 H.264 mp4 编解码器上使用更多的视频帧和分辨率(在我的情况下)5sec*25fps*480px*854px,它的工作原理就像一个魅力:) 在sonxy xperia 上没有延迟没有开销u 256mb 内存

于 2013-03-17T08:11:45.270 回答
0

您可以在 android 中创建多个逐帧动画,但只确保您的图像(PNG)分辨率很小...我在我的项目中使用*320 * 480*分辨率完成了此操作..它的效果很好..但只有一个问题在于,第一次启动动画时有一个加载时间,具体取决于您的图像数量...

于 2013-04-16T12:33:58.190 回答