を使用してリークした私は、メモリリークを追跡するためにリークカナリアを使用していますが、それは次のようにリークされたと言う:MainActivityがleakcanary
static hk.o
references ht.a
leaks MainActivity instance
hk.o
とht.a
何ですか?私はMainActivityでそれらを持っていません。
を使用してリークした私は、メモリリークを追跡するためにリークカナリアを使用していますが、それは次のようにリークされたと言う:MainActivityがleakcanary
static hk.o
references ht.a
leaks MainActivity instance
hk.o
とht.a
何ですか?私はMainActivityでそれらを持っていません。
私はそれらが依存関係のいずれかのプロガードされている(リバースエンジニアリングを防ぐためにランダムな名前のクラス名を変更した)と思います。私はアプリでGoogle Sign Inのようなものが使われているときにこれを見ました。
Googleサービスのクラスは、一般にPro Guardedです。
こちらがお役に立てば幸いです。
これらのクラスは、第三者のライブラリクラスです。 MainActivityインスタンスを引数として取り、クラスのインスタンスがライブラリに属するものを渡すことができます。アクティビティを渡す必要がない場合は、ApplicationContextを引数として使用できます。
私はこれを追跡しましたが、犯人はGoogle Adsです。 あなたが言及したクラスは、play-services-ads
に含まれているcom.google.ads.interactivemedia.v3:interactivemedia
というライブラリのものです。
アクティビティへの参照は、アクティビティコンテキストに合格したPublisherAdView
のコンストラクタを介して設定されました。アプリでも同様の広告ビューを使用している可能性があります。回避策として
、私は今、リークを解決しているように思われ、広告表示にアプリケーション・コンテキストを渡す:
new PublisherAdView(getContext().getApplicationContext())
私はおそらく、Google Playのサービスライブラリに関連する何かを同じ問題を持っています。 – meh
これらのクラス名は難読化されており、何でもかまいません。漏れのメニューにShare Infoボタンがあり、ここに出力全体を投稿します。 –