2011-12-09 5 views
3

저는 AnimationDrawable을 사용하여 프레임 별 애니메이션을 사용하여 몇 가지 사항을 애니메이션으로 적용하려고합니다.
는이 코드로 애니메이션을로드 할 경우 : UI는 몇 초 (3-5)에 대한 응답하지AnimationDrawable을 사용한 큰 애니메이션

animationHolder.setBackgroundResource(R.drawable.secondanimation); 
frameAnimation = (AnimationDrawable)animationHolder.getBackground(); 

. 그것은 많은 이미지를로드해야하기 때문입니다 (정확한 140px, 300px, 400px, 각 50KB,).

애니메이션을 시작하면 적어도 HTC Desire에서 실행 중입니다.

에뮬레이터에서 동일한 코드를 실행하면 "OutOfMemoryError"와 "비트 맵 크기가 VM 예산을 초과했습니다"가 표시됩니다.

큰 애니메이션을 처리하는 적절한 방법은 무엇입니까? 어떤 종류의 "게으른 애니메이션로드"가 있어야합니다. 이미 존재하는 것입니까, 아니면 일종의 사용자 지정보기를 준비해야합니까?

"Talking Tom Cat"듀엣과 같이 다른 인기있는 앱은 어떻습니까?

+1

OpenGl을 사용하여이를 수행하는 방법을 찾으십니까 – Sunny

답변

1

당신은 그런 식으로 애니메이션을하지 않을 것입니다 ... 무거운 애니메이션을 할 필요가 있다면 OpenGL을보십시오. 안드로이드는 제한된 비트 맵 메모리를 사용하기 때문에 너무 많은 이미지를 처리 ​​할 수 ​​없습니다.

+0

그런 식으로 수행하는 방법을 보여주는 좋은 책이나 온라인 리소스가 있습니까? 프레임 애니메이션별로 간단한 몇 가지 프레임에 대해 전체 OpenGL 자료를 배울 점이 없습니다. 나는 그것이 길다는 것을 알고 있지만 누구나 안드로이드 뷰에서 openGL로 애니메이션을 실행하는 방법에 대한 단계별 튜토리얼을 가지고 있습니다. 게임을 만들지 않으므로 게임 루프 및 기타 게임 관련 항목이 없습니다. – pzagor2

+0

나는 그것에 관해 당신을 도울 수 없다는 것을 두려워합니다, 나는 주위에 목적을두고 걸어갔습니다. 그러나 이것을 찾는 것이 너무 어려워서는 안됩니다, 당신은 항상 새로운 질문을 대신 할 수 있습니다 :) – Warpzit

관련 문제