0

一連の画像を再生するためにアニメーションリストを使用しています。このアプローチにより、常に 24MB 近くを RAM に保持していることがわかります。

アニメーション シーケンスを実行した後、Ram でメモリを取得する方法を教えてください。

ビデオを使用してアニメーションを再生するか、png シーケンスを使用してアニメーションを再生するのが良いですか?

例: アニメーション リスト png シーケンス xml

<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:oneshot="false" >    

    <item android:drawable="@drawable/ani_avatar_00016"
        android:duration="90" />            
    <item
        android:drawable="@drawable/ani_avatar_00001"
        android:duration="90"/>    
    . . . 
4

1 に答える 1

1

同じ問題に遭遇しました。それを解決するために私たちがしたことはたくさんありました。

まず、画像サイズを小さくしました。できるだけ小さい画像を用意してください。ビデオも試してみたところ、各アニメーションに必要なメモリ割り当てが減りましたが、透明性が必要だったため、このアプローチは使用できませんでした。

2 つ目は、アニメーションをロードするたびに同じメモリ スロットを使用していることを確認することです。複数のアニメーションを使用しない場合は、同様のサイズのオブジェクトを同じメモリ アドレスにポイントするようにしてください。

私の知る限り、ガベージ コレクターを制御して、メモリ空間のクリーンアップを要求することはできません。そのため、アニメーションであろうと PNG シーケンスであろうと、これらの MB を消去することはできません。

于 2012-08-11T21:03:04.580 に答える