Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LeakCanary 2 #1211

Closed
pyricau opened this issue Mar 28, 2019 · 0 comments
Closed

LeakCanary 2 #1211

pyricau opened this issue Mar 28, 2019 · 0 comments
Assignees
Milestone

Comments

@pyricau
Copy link
Member

pyricau commented Mar 28, 2019

Work is tracked with Milestone 2.0.

Existing problems LeakCanary 2 will try to solve

  • The activity + notifications is nice, but in larger teams those can get ignored. Teams need a central place where leaks get uploaded, with correct group count.
  • The HeapDump is freezing the phone, which is annoying when a developer is trying to do something else.
  • LeakCanary only processes one leak at a time, so if there are several leaks the phone will just alternate between dumping (freezing) and analyzing which is frustrating.
  • OOMs are caused by leaks and LeakCanary helps find leaks, but it's not clear which leaks the main cause for OOMs in production.
  • Excluded leaks are confusing, people don't know what to do with them. Developers ask for not reporting excluded leaks. That was the original behavior, which would lead to heap dump + analysis and then nothing, and people asked "where is my leak gone?". We should make it more easy to understand what an excluded leak is about (it's usually a leak you are not responsible for, though it will impact your app so you might want to find a way around it)
  • Which object is leaking is not interesting, yet that's what most people focus on. The interesting part is the leaktrace, and more specifically the subset of the leak trace identified as potential cause.
  • When a type of leak happens a lot, the list of leaks gets long (and slow to load). Developers really want to know "how many problems do I have in my code" with counts associated to each problem.
  • Most people have no idea how much they can configure LeakCanary
  • LeakCanary is very customizable but that requires copying some library code and doing things the right way. The API provides ways to replace specific components but is not driven by use cases (e.g. "I want to sometimes disable leakcanary" vs "I want to replace the heap dumper")
  • The API was built incrementally over time and not consistent.
  • It's hard to analyse a leak.
  • It's not clear what to do with a leak (excluded or not), how to share it (so many people share screenshots ugh). When it's a leakcanary crash, it's not obvious how to search for it / report it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant