3

私は大きなアニメーションを含むアンドロイドを持ってAnimationDrawableいます.(各100x100ピクセルの24フレーム)。このアニメーションを、サイズの異なる複数のビューで同時に同期的に表示したいと考えています。つまり、view1 が frame1 を表示している場合、他のすべてのビューも frame1 を表示する必要があり、すべてのビューが同時に表示されます。

を作成してみましたがAnimationDrawable、複数のビューのバックグラウンド ドローアブルとして使用し、animationdrawable.start() を使用しました。しかし、この後、私のビューの 1 つだけがアニメートされ、他のビューはフレーム 1 にとどまります。

私はこれらのスレッドを見てきました

単一のアニメーション - 複数のビュー

1 つのアニメーションを複数のビューに同時に適用する

しかし、答えにはすべて、アニメーションの複数のインスタンスを作成することが含まれていました。アニメーションが大きいため、アニメーションを複数回ロードすると大量のメモリが使用されるため、これは避ける必要があります。

誰かがそれをどのように達成できるか考えているかどうか疑問に思っていましたか?

PS> 静的ビットマップをドローアブルとして使用してみましたが、ビューごとにサイズを変更すると同期が必要になり、CPU 使用率が大幅に増加します。

を使用する以外に、これを実装する他の方法をいただければ幸いAnimationDrawableです。

副次的な質問:リソースを使用するたびに、アンドロイドはメモリを使い果たしますか? たとえば、20 個の ImageView を作成し、それらのリソースを R.drawable.mydrawable に設定した場合、使用されるメモリは 20 * memory_used_for_decoding_mydrawable に等しくなりますか?

4

0 に答える 0