問題タブ [leakcanary]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2160 参照

android - LeakCanary を使用した AppCompatActivity でのメモリ リーク

私は LeakCanary を使用していますが、残念ながらリークが発生しました。これが logcat です。

これは私のDebuggingActivityです

自分のアクティビティをチェックして追跡していますが、これを修正する方法がわかりません。:D

私のアクティビティ コードがさらに必要な場合は、喜んでここに追加または投稿します ;)

- -編集 - -

また、スナックバー ( Nispok によるスナックバー)を参照する別のアクティビティからもリークがありました。

0 投票する
3 に答える
3559 参照

android - ViewTreeObserver リークについて

LeakCanary 1.3.1-SNAPSHOT を使用しています。セットアップに関するリークを見つけたViewTreeObserver.OnScrollChangedListenerので、次のコードのように修正しました。

ただし、LeakCanary はまだリークとして報告していますが、その理由は何ですか?

0 投票する
1 に答える
2127 参照

android - LeakCanary が Android WebView のメモリ リークを発見

アプリケーションのメモリ リークを見つけるために、 leakcanaryツールを使用しています。私の WebViewActivity は毎回リークしているようです。

漏れをテストするための簡単なアプリケーションを作成しました。xml レイアウト ファイル内の WebView でアクティビティを開始し、アクティビティ コンテキストでインフレートします。Js オフ。すべてのデフォルトは、WebView 内でリダイレクトを維持する単純な webViewClient を想定しています。毎回漏れます。

これを防ぐ唯一の方法は、別のプロセスで WebViewActivity を開始し、onDestroy 内で強制終了することです。しかし、この方法には独自の欠点があります。

リークは、5.0 以降を実行しているすべてのデバイスで毎回発生します。4.3 以下ではチェックしていません。

リーク情報を以下に貼り付けます。

com.example.webviewmemoryleaktest:1.0:1 で。* com.example.webviewmemoryleaktest.WebViewActivity がリークしました: * GC ROOT android.os.ResultReceiver$MyResultReceiver.this$0 * org.chromium.content.browser.ContentViewCore$2$1.this$1 を参照します (匿名クラスは android.os.ResultReceiver を拡張します) * org.chromium.content.browser.ContentViewCore$2.this$0 を参照 * org.chromium.content.browser.ContentViewCore.mContext を参照 * com.android.webview.chromium.ResourcesContextWrapperFactory$WebViewContextWrapper.mBase を参照 * com.example.webviewmemoryleaktest をリーク.WebViewActivity インスタンス

  • 参照キー: 9a0346cf-6ad9-4b07-9329-a975d8fa3cbe
  • デバイス: LGE Google Nexus 4 occam
  • Android バージョン: 5.1 API: 22
  • 所要時間: watch=5139ms、gc=188ms、heap dump=2822ms、analysis=30918ms

誰かが助けてくれれば感謝します。ありがとう!

0 投票する
0 に答える
1025 参照

android - LeakCanary の DisplayLeakActivity がリークしました。何か洞察はありますか?

最近、LeakCanary ライブラリをアプリケーションに追加しました。いくつかのアクティビティ リークを検出して表示した後、LeakCanary の DisplayLeakActivity がリークしていることに気付きました。アプリケーションの一部である参照パスに何も見つかりません。私が知る限り、適切な使用法に従っています (かなり簡単です:))。

参照パスは次のとおりです。

com.chris:0.890:890 で。

  • com.squareup.leakcanary.internal.DisplayLeakActivity がリークしました:
  • GC ROOT android.view.Choreographer$FrameDisplayEventReceiver.mMessageQueue
  • android.os.MessageQueue.mMessages を参照します
  • android.os.Message.callback を参照します
  • 参照 android.view.View$ScrollabilityCache.host
  • android.widget.ListView.mContext を参照します
  • リーク com.squareup.leakcanary.internal.DisplayLeakActivity インスタンス

  • 参照キー: 48e6a173-9de4-436f-9eef-0913ebabadf6

  • デバイス: LGE lge LG-LS980 g2_spr_us
  • Android バージョン: 4.4.2 API: 19
  • 所要時間: watch=5127ms、gc=246ms、heap dump=3729ms、analysis=18335ms

これは LG G2 でのみ発生したことに注意してください。他のデバイスでは見たことがありません。誰かがこれを見たことがありますか、それとも何が原因なのか知っていますか?