2011-12-09 8 views
3

私は、AnimationDrawableでフレームごとのアニメーションを使用していくつかのものをアニメーション化しようとしています。
私はこのコードでアニメーションをロード:AnimationDrawableを使用した大きなアニメーション

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

秒のカップル(3-5)のために応答しなくなるUI。おそらくそれは画像の多くを読み込む必要があるからです(正確には140png、400px X 300px、それぞれ50KB、)。

私はアニメーションを起動するときに、少なくとも私のHTC Desireで動作しています。

エミュレータで同じコードを実行すると、「OutOfMemoryError」に「ビットマップサイズがVMバジェットを超えました」と表示されます。

大きなアニメーションを処理する適切な方法は何ですか?私はある種の「怠惰なアニメーションの読み込み」があるはずです。 このようなものが既に存在するのか、何らかのカスタムビューを展開する必要がありますか?

"Talking Tom Cat"デュエットのような他の人気アプリはどうですか?

+1

OpenGlでこれを行う方法がありますか – Sunny

答えて

1

あなたはアニメーションをそのようにしません...もしあなたが重いアニメーションを行う必要があるならば、openglを見てください。制限付きのビットマップメモリ​​を使用するため、Androidではあまりにも多くの画像を処理できません。

+0

そのようなことを達成するための良い本やオンラインリソースはありますか? 私はフレームアニメーションの単純なフレームのカップルのためのOpenGLのもののすべてを学ぶべきではありません。 私はそれが長い間撮影されていることを知っていますが、誰もがアンドロイドビューでOpenGLでアニメーションを実行する方法についてのステップバイステップチュートリアルを持っています。 私はゲームを作っていないので、ゲームループやゲーム関連のものはありません。 – pzagor2

+0

私はそれを助けることができないのではないかと心配しています。私はそれを周りに歩いていますが、これを見つけるのは難しいことではありません。 – Warpzit

関連する問題