안드로이드 개발 질문/답변
(글 수 45,052)
전역변수로 배열과 애니메이션 선언해 주었고
ArrayList<Drawable> frame = new ArrayList<Drawable>();
AnimationDrawable mAnimation;
배열에 Drawable이미지가 들어있습니다
mAnimation = new AnimationDrawable();
for (int i = 0 ; i < frame.size() ; i++) {
mAnimation.addFrame(frame.get(i), 1000/15);
}
imageView.setBackgroundDrawable(mAnimation);
mAnimation.setOneShot(false);
mAnimation.start();
이렇게 이미지뷰에 애니메이션을 동작하는데
기계마다 조금씩 다르지만 Drawable이 몇십개 정도 들어가면 메모리 부족으로 죽어버리는데
메모리를 잡거나 다른 방법으로 애니메이션을 돌릴방법 없을까요?
애니메이션 간격은 1000/30까지 정상적으로 작동해야됩니다
고수님들의 조언 부탁드립니다
2013.02.15 12:50:28
앱이 먹는 매모리의 대부분이 비트맵입니다. Tween 에니메이션으로 표현이 힘들다면 handler 를 사용해서 다른 스레드에서 이미지를 하나씩 메모리에 올리고 내리고 하는 방식으로 구현하시는게 어떨까 싶네요



