私はたくさんのアニメーションを持つAndroidアプリケーションを持っています。AnimationDrawableに画像が追加され、プログラムでメモリリークが発生する
私は、プログラム(AnimationDrawable
を使用して)アニメーションを作成非Javaオブジェクトは、(DDMSヒープ]タブに表示される)私はロード、決して私のアニメーションを解除しますた後もバック縮小し、すべての新しいアニメーションで成長します。
私は書いたラッパーオブジェクトからそれぞれのAnimationDrawable
オブジェクトへの参照が1つしかありません。このオブジェクトはfinalize
メソッドをオーバーライドして呼び出されたことを確認して解放されることを確認しました。
最終的にアンドロイドはイメージのロードを停止し、「メモリ不足」エラーをログに出力します。
興味深いのは、これは一部のデバイス(Motorola Xoom、Sony Experia)のみで、他のデバイス(Galaxy Sなど)では発生しないということです。
この問題は、私が与えたデバイスの例からわかるように、特定のハニカムまたはプリハニカムではありません。私は現在のアニメーションで行われていますが、助けていないようです後の各フレームのリサイクルを呼び出す
- :
私が試した事のいくつか。
- は私が
myAnimation.addFrame(...)
各デバイスの合計RAMを投稿できますか?また、あなたはどんなアニメーションについて話していますか?初期化コードの例を投稿できますか? –
XOOMには1GBのRAMがあり、マニフェストに "large-heap"フラグを使用しています。ギャラクシーSには512MB – Gu1234
があります。この 'myAnimation.addFrame'は意図通りに使用していない可能性があります。小さなスニペットを投稿してください。 –