6

ADTのリントチェッカーは次のように述べています。

このHandlerクラスは静的である必要があります。そうしないと、リークが発生する可能性があります

リークハンドラーの意味は何ですか?

4

1 に答える 1

12

http://tools.android.com/tips/lint-checksから

HandlerLeak

概要:ハンドラークラスが外部クラスへの参照を保持しないようにします

優先度:4/10重大度:警告カテゴリ:パフォーマンス

Androidでは、ハンドラークラスは静的である必要があります。そうしないと、リークが発生する可能性があります。アプリケーションスレッドのMessageQueueにエンキューされたメッセージも、ターゲットハンドラーを保持します。ハンドラーが内部クラスの場合、その外部クラスも保持されます。外部クラスのリークを回避するには、外部クラスへのWeakReferenceを持つ静的なネストされたクラスとしてHandlerを宣言します。

于 2012-08-23T03:33:41.143 に答える