我有3组50张图片,我必须为Android应用程序中的每组图像创建动画。我能够创建一个简单的应用程序,使用以下方法为第一组50个图像设置动画,
在drawable文件夹中添加了Animation-list xml,并使用frameAnimation.start()调用它。
在清单文件中保留以下“android:largeHeap =”true“之前,此方法无效。
我不确定这是否是设置图像动画的好方法(如果我们有更多的图像和每个图像的大小更像60 KB。图像是JPG格式)或不是
我浏览了一下,我发现,如果我们能够清除内存并且如果我们能够在内存中保留较少数量的图像,那么我们的应用程序将非常好用。所以我想知道如何清除记忆?
请让我知道我是否需要按照不同的方法动画图像,而不是我上面解释的那样,以便我可以清除记忆。
感谢您的帮助。
答案 0 :(得分:2)
Do this way..
---------------------
ImageView img = (ImageView)findViewById(R.id.some layout);
AnimationDrawable frameAnimation = (AnimationDrawable)img.getDrawable();
frameAnimation.setCallback(img);
frameAnimation.setVisible(true, true);
frameAnimation.start();
and to add animation you can do something like
-----------------------------------------------
<animation-list android:id="@+id/my_animation" android:oneshot="false"
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/frame1" android:duration="150" />
<item android:drawable="@drawable/frame2" android:duration="150" />
</animation-list>
答案 1 :(得分:1)
在查看了几篇文章并进行了大量研究后,我终于以编程方式修改了Imageview中的图像,以模拟帧动画。这样我就可以在任何时间点(前一个,当前一个和下一个)保持缓存中的三个图像。我希望这对其他人有用。
答案 2 :(得分:-1)
在Android本身中以类似方式处理大量图像并不是一件好事,因为它会触发可怕的“Out of Memory”异常。
无法清除内存本身。对此最好的解决方法是对应用程序进行正确的位图处理。
我不确定,但您可能需要查看PhoneGap。
它是我们之前用来创建游戏的HTML5引擎。 通过绘制到画布本身,我们用它重新创建了帧动画。它只需要WebDev技能。