leakcanary README

The project's README from github.com/square/leakcanary. As one markdown file: README.md.

LeakCanary 🐤

A memory leak detection library for Android.

square.github.io/leakcanary

🙏 If you like LeakCanary you can show support by starring ⭐ this repository.

License

Copyright 2015 Square, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

leakcanary (square/leakcanary)

Searching Database…

Что это?LeakCanary — это библиотека для обнаружения утечек памяти в Android-приложениях, созданная компанией Square.
Это библиотека, которую я добавляю в приложение, или отдельный инструмент?Это библиотека, которую вы подключаете к своему Android-проекту как зависимость для отладки. Она работает внутри приложения во время разработки и следит за утекающими объектами. Это не отдельное приложение и не сервис.
Как добавить её в мой Android-проект?Добавьте LeakCanary как зависимость debugImplementation в build.gradle вашего приложения, чтобы она попадала только в отладочные сборки. Затем запустите приложение как обычно: отслеживание утечек начнётся автоматически.
Нужна ли мне особая среда для работы с ней?Нужен только Android-проект на Java или Kotlin. Сам LeakCanary написан на Kotlin и предназначен для Android-приложений.
Замедлит ли она релизные сборки?Нет, её задумано подключать как зависимость только для отладки. Поэтому она вырезается из релизных сборок и не влияет на производительность в продакшене.
Как LeakCanary на самом деле обнаруживает утечку?Он отслеживает объекты, которые должны быть удалены сборщиком мусора (например, уничтоженные Activity или Fragment). Если такие объекты не удалены спустя некоторое время, он снимает дамп кучи и анализирует его, чтобы найти путь удержания, который вызывает утечку.
Что за анализатор кучи Shark, о котором упоминается в CI проекта?Shark — это библиотека для анализа кучи, которую LeakCanary использует внутри для разбора дампов кучи и построения трасс утечек. В репозитории есть отдельные workflow для её выпуска.
Зачем использовать LeakCanary, а не снимать дампы кучи вручную в Android Studio?LeakCanary автоматизирует весь процесс прямо в приложении. Он выводит трассы утечек в виде понятного отчёта, похожего на стек вызовов, сразу как утечка происходит. Не нужно вручную снимать и изучать файлы .hprof.
What are similar projects?memray, logger, timber, butterknife, MPAndroidChart, Luban, fresco, DoKit
Creator
square
Size
154.9 MB
Stars
30K
Age
11y
Commits · 90 Days