こんばんは。
忙しくて、なかなか更新できませんでした。
前回メモリリークを調査した結果、検出した内容です。
今回は、単純なコーディングミスです。
Staticな変数に、Contextを渡したクラスのインスタンスを保持しているのですが、ContextにActivityをキャストしたContextを渡していました。
ソースで説明します。
ToastクラスのインスタンスをContextを渡して作成し、Staticな変数で保持しています。
上記のshowToastを以下のように呼び出していたのです。
上記の例は、Activityで呼び出していたので、thisは、Activityです。
Contextは、ApplicationかActivityをと書かれていますので、以下のように変更したら、メモリリークはなくなりました。
Staticな変数は、要注意です。
0 件のコメント:
コメントを投稿