py - Pierre Yves Ricau

Results 91 issues of 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...

type: enhancement

* 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...

type: documentation

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...

type: enhancement

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...

type: enhancement

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....

type: enhancement

* Requires downloading the APK and unzipping it to extract mapping.txt * Should be an option, off by default

type: enhancement

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...

type: enhancement

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,...

status: help wanted

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...