android - Replace Fragment を繰り返すとメモリ リークが発生するのはなぜですか?
漂亮男人
漂亮男人 2017-05-16 13:32:31
0
2
707

写真のように、下の2つのボタンをクリックすると、REPALCE上にFragmnetが2つあり、切り替えを繰り返すとメモリリークが発生しました

これはフラグメントのコードです:

リーリー

これはアクティビティのコードの一部です

リーリー

繰り返し切り替えを行った場合のメモリの状態です:

これは LOGCAT です。onDestroy が実行され、Fragment ライフサイクル全体が即座に終了することがわかります。 リーリー

それでは、なぜ彼が占めていた記憶がまだそこにあるのでしょうか?

質問 2:

実験用に JAVA で一定量のメモリを割り当てる方法。ビットマップ メソッドが低すぎるため、そこに CONTEXT が含まれています。
質問 3:

FRAGMENT の使用は避けるべきでしょうか (HIDE/SHOW を使用する方が REPLACE よりも優れていることはわかっています

)
ありがとうございます!

漂亮男人
漂亮男人

全員に返信(2)
世界只因有你

LeakCanary をコードに統合して、メモリ リークの原因を確認します。
メモリグラフが上昇しても、それは必ずしもメモリリークを意味するわけではありません。 Bitmapを申請するたびにGCの規格を満たさない場合がありますので、メモリが増え続けても問題ありません。

いいねを押す +0
某草草

それはフラグメントの問題ではなく、使用するビットマップの問題です

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート