py - Pierre Yves Ricau
py - Pierre Yves Ricau
Some future work to consider because we can make it stable. * Rethink the artifact name. `leakcanary-android-releases` sounds like it builds on top of `leakcanary-android`, when the only dependency is...
* Create a new "Docs" that includes the FAQ and Recipes and API Reference. Rename "Recipes" to "Configuration" (see #1990), but keep the page name so that links are still...
We serialize the leaktraces into a database and don't have good tests to prevent breaking deserialization. We should something to generate a base64 string of the serializable bytes, then go...
This is related to this blog: https://dev.to/pyricau/the-real-size-of-android-objects-1i2e The idea is to compare the heap dump object size to an object size we'd compute. They should be equal if we understand...
As LeakCanary must be able to perform well on Android devices, it needs to keep a low memory footprint. Up until now, we've relied on manual profiling for identifying bottleneck....
* Requires downloading the APK and unzipping it to extract mapping.txt * Should be an option, off by default
We should reorganize the file structure to have less clutter at the root. We currently have 17 Gradle modules at the root. Instead: ``` +-shark +-shark +-shark-android +-shark-cli +-shark-graph +-shark-hprof...
At Square so far we've used Bugsnag to upload our debug leaks. We convert the leak trace into a stacktrace that's based on the common cause subset of the leaktrace,...
This issue was found [through StackOverflow](https://stackoverflow.com/questions/63447201/anychartview-has-getting-a-memory-leak-when-activity-destroyed). Here's the leaktrace: ``` ┬─── │ GC Root: System class │ ├─ com.anychart.APIlib class │ Leaking: NO (a class is never leaking) │ ↓...
The scanning implementation is making decisions on threading that aren't optimal: 1) It scans for view roots from the calling thread 2) But then it always performs the scanning of...