問題タブ [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.
android - LeakCanary を使用した AppCompatActivity でのメモリ リーク
私は LeakCanary を使用していますが、残念ながらリークが発生しました。これが logcat です。
これは私のDebuggingActivityです
自分のアクティビティをチェックして追跡していますが、これを修正する方法がわかりません。:D
私のアクティビティ コードがさらに必要な場合は、喜んでここに追加または投稿します ;)
- -編集 - -
また、スナックバー ( Nispok によるスナックバー)を参照する別のアクティビティからもリークがありました。
android - ViewTreeObserver リークについて
LeakCanary 1.3.1-SNAPSHOT を使用しています。セットアップに関するリークを見つけたViewTreeObserver.OnScrollChangedListener
ので、次のコードのように修正しました。
ただし、LeakCanary はまだリークとして報告していますが、その理由は何ですか?
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
誰かが助けてくれれば感謝します。ありがとう!
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 でのみ発生したことに注意してください。他のデバイスでは見たことがありません。誰かがこれを見たことがありますか、それとも何が原因なのか知っていますか?