leakcanaryでLIBRARY漏れは何ですか?

蘭:

leakcanary時々に私は「図書館リーク」として報告リークを取得しています

 HEAP ANALYSIS RESULT
    ====================================
    0 APPLICATION LEAKS

    References underlined with "~~~" are likely causes.
    Learn more at https://squ.re/leaks.
    ====================================
    1 LIBRARY LEAKS

    Library Leaks are leaks coming from the Android Framework or Google libraries.

    Leak pattern: instance field android.view.ViewGroup$ViewLocationHolder#mRoot
    Description: In Android P, ViewLocationHolder has an mRoot field that is not cleared in its clear() method. Introduced in https://github.com/aosp-mirror/platform_frameworks_base/commit/86b326012813f09d8f1de7d6d26c986a909d Bug report: https://issuetracker.google.com/issues/112792715
    66264 bytes retained by leaking objects
    Signature: 64becd25d6156daa91df6572a75b6a28ddb1
    ┬───
    │ GC Root: System class

leakcanaryウェブサイトでそれは言います:

leakcanaryウェブサイトでLibraryLeak

LibraryLeak

データクラスLibraryLeak:リーク

リークがLibraryLeakReferenceMatcherインスタンスに提供されるような漏れオブジェクトへのパスのみが、パターンにマッチ基準を通過する必要HeapAnalyzerによって見出さ。これは、あなたのコントロールを超えているライブラリのコードで知らリークです。

それは私のコントロール外は本当にありますか?

私はそれを引き起こすことがなかった何かがあるかもしれませんか?

私はそれを防ぐために何かできることはありますか?

leakcanryは時々、このメモリリークを報告するためのリンクを配置しますが、私は、任意の応答が表示されない、それが通常に取り組んアンドロイド何かありますか?もしそうなら、どのような問題は、通常は解決し、どのように追跡するために?

確かに私はそれを解決または予防するためにできることは何もない場合は、LIBRARYリークを無視する私はleakcanary依頼することができます方法はありますか?

ピエール・イヴ・Ricau:

それは素晴らしい質問だ、と私は追跡するために問題を作成したので、実際にはこれは、より良い文書化する必要があります。https://github.com/square/leakcanary/issues/1773

それは私のコントロール外は本当にありますか?

はいといいえ。通常、これは漏れがあなたのコードのバグによって引き起こされたり、誤って、それがいずれかのAndroid XやAndroid SDKのバグによって引き起こされるのAPIを使用していないことを意味します。ことでは、それはあなたのコントロールの外に常にではありません、漏洩を回避するにはトリック/ハックがあることができました。

私はそれを引き起こすことがなかった何かがあるかもしれませんか?

AndroidのPでViewLocationHolderを使用すると、ビューを使用するとき。..起こる不幸なバグです。そうそう、あなたは本当に何も特別な操作を行いませんでした。

私はそれを防ぐために何かできることはありますか?

潜在的に誰もまだそれを回避するには明確なハックを思い付いていません。

leakcanryは時々、このメモリリークを報告するためのリンクを配置しますが、私は、任意の応答が表示されない、それが通常に取り組んアンドロイド何かありますか?もしそうなら、どのような問題は、通常は解決し、どのように追跡するために?

わからないあなたはここで何を意味しますか。あなたはバグレポート(へのリンクがあることを意味した場合https://issuetracker.google.com/issues/112792715)グーグルためのアクセスを阻止することを決定したことを、はい、作業を停止しました。

確かに私はそれを解決または予防するためにできることは何もない場合は、LIBRARYリークを無視する私はleakcanary依頼することができます方法はありますか?

LeakCanaryはリークがライブラリ漏れやヒープをダンプし、分析を行う前にいないかどうかを知るための方法はありません。これは、そうでない場合は、分析に何が起こったのか不思議に思うので(それが唯一のライブラリ漏れなしアプリ漏れを発見した場合でも)分析が行われていることを開発者に通知することが重要です。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=280931&siteId=1