У меня возникли проблемы с покадровой анимацией: у меня есть приложение с ImageView, в котором я хотел бы показать покадровую анимацию.Мой код выглядит следующим образом: Main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/spotim000" />
</LinearLayout>
, а мой java:
import android.app.Activity;
import android.os.Bundle;
import android.widget.ImageView;
public class AnimationTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView imageView1 = (ImageView) findViewById(R.id.imageView1);
imageView1.setImageResource(R.drawable.spotlights);
}
}
spotlights.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/spotim000" android:duration="50" />
<item android:drawable="@drawable/spotim001" android:duration="50" />
<item android:drawable="@drawable/spotim002" android:duration="50" />
...
<item android:drawable="@drawable/spotim099" android:duration="50" />
<item android:drawable="@drawable/spotim100" android:duration="50" />
</animation-list>
Я не сделалвключите код, который запускает анимацию - потому что проблема не в этом.Когда я запускаю этот код с помощью эмулятора или с помощью моего HTC Desire - код выполняется с префектом.Однако, когда я запускаю его на Samsung Galaxy S2 - я получаю эту ошибку: «Размер растрового изображения java.lang.outofmemoryerror превышает бюджет vm на растровом изображении»
Когда я удаляю некоторые кадры (оставляя, скажем, 20 изоригинала 101) отлично работает и на галактике.Но мне нужны все кадры, и я не могу понять, почему он работает на HTC Desire, а не на гораздо более сильной Galaxy S2
Я просматривал другие посты с похожей проблемой, но единственную, которую яможет найти это сообщение без ответа: Android-анимация (XML) GOUT OutOfMemoryError: размер растрового изображения превышает бюджет виртуальной машины (только на Motorola Droids?)
Кто-нибудь имеет какие-либо идеи по этому вопросу?
Большое спасибо, Шай:)