我需要用更多的图像做动画。所以我正在使用逐帧动画。但我面临着java.lang.OutOfMemoryError: bitmap size exceeds VM budget
.我搜索过互联网,但我不知道。任何人请帮助我。
我尝试使用以下代码:
活动.java
scr1.setBackgroundResource(R.drawable.data9);
AnimationDrawable frameAnimation9 = (AnimationDrawable)scr1.getBackground();
frameAnimation9.start();
frameAnimation9.setOneShot(true);
数据9.xml
<?xml version="1.0" encoding="UTF-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/s1" android:duration="100" />
<item android:drawable="@drawable/s3" android:duration="100" />
<item android:drawable="@drawable/s5" android:duration="100" />
<item android:drawable="@drawable/s6" android:duration="100" />
</animation-list>
内存不足位图大小超出 VM 预算 当您一次加载多个大小较大的图像时,会发生此异常。VM 大小因设备而异,通常如果您使用的是高端设备,则可能很少遇到此问题。对总图像进行像素转换后,您的总图像大小不应超过 12MB,以保持更安全的大小。
因此,您可以做的是通过压缩图像来减小图像大小,或者您可以将所有图像组合成.gif,然后使用视频视图播放GIF。(注意你的 GIF 不要太大)这可能会有所帮助。