框架动画Android大框架

时间:2013-01-17 20:14:46

标签: android image animation bitmap out-of-memory

我是新手在Android上创建动画。

我正在尝试使用很多.png来创建一个大的逐帧动画。

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

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

使用78 * 334大小的图像创建100帧长的动画 40帧动画创建的图像大小从320 * 290和320 * 309不等。

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

所以我认为我的问题是如何创建具有大量帧(或动画外观)的多帧逐帧动画,而不会在低端设备上耗尽内存。

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

你可以在android中创建多个逐帧动画,但只能确保你的  图像(PNG)分辨率很小......我在我的项目中用 * 320 * 480 * 分辨率做到了这一点。工作完美..但只是一个问题,有一个加载时间当你第一次开始动画时,取决于你的图像数量......