вам нужно проверить причину сбоя , , если произошла ошибка «Недостаточно памяти», вы можете попытаться сделать пиксель изображения png меньшим .
если это ограничение размера анимации системы, вы можете попробовать другой метод, вы можете создать свое представление и создать в своем представлении Handler
, и обработчик отправляет сообщение каждый раз (анимация каждый раз), когдаполучить сообщение, изменить png.
добавлено:
static final int MSG_ANIMATION = 1, MSG_CANCEL = 2;
static final int ANIMATION_DURATION = 500;
public Handler mHandler = new Handler() {
public void handleMessage(android.os.Message msg) {
final int what = msg.what;
if (what == MSG_ANIMATION) {
// here change the animation png
setImageResource(..);
mHandler.sendEmptyMessageDelayed(MSG_ANIMATION, ANIMATION_DURATION);
} else if (what == MSG_CANCEL) {
removeMessages(MSG_ANIMATION);
}
};
};
public void startAnimation() {
// set first animation png
setImageResource(..);
mHandler.sendEmptyMessageDelayed(MSG_ANIMATION, ANIMATION_DURATION);
}
public void stopAnimation() {
mHandler.sendEmptyMessage(MSG_CANCEL);
}