Summary: == Highlights == - Database query favourites are now persisted across sessions (b0caaa7) - Allow disabling iOS development in Settings (aab004a) - Various improvements to the sidebar - FPS graph to visualize slow UIs for plugin developers (31df1db) - Window theme attributes when clicking on a window in the inspector (c430fc3) - Removed Stetho dependency (48d6ea4). Thanks, ZacSweers! - Install plugins directly from package files (b9e7f5d6d1) == Fixes == - Mac plugins not showing up (02e0233) - Doctor: log both shown and suppressed warnings (35d62e70cb). Thanks, mateosilguero! - Fix default SDK path on Windows (e178221) - Doctor complains Android SDK is not installed (b625efe) - Update welcome screen links (33ad41c) - Fix 'Timed out waiting for device' error (060e8c0) Reviewed By: priteshrnandgaonkar Differential Revision: D19813089 fbshipit-source-id: 8b1fc6fb140d02b7f78adcadd7c45a3ed1755f2f
40 lines
1.2 KiB
Markdown
40 lines
1.2 KiB
Markdown
---
|
|
id: leak-canary-plugin
|
|
title: LeakCanary Setup
|
|
sidebar_label: LeakCanary
|
|
---
|
|
|
|
Ensure that you already have an explicit dependency in your application's
|
|
`build.gradle` including the plugin dependency, e.g.
|
|
|
|
```groovy
|
|
dependencies {
|
|
debugImplementation 'com.facebook.flipper:flipper-leakcanary-plugin:0.31.0'
|
|
debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.1'
|
|
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.1'
|
|
}
|
|
```
|
|
|
|
First, add the plugin to your Flipper client instance:
|
|
```java
|
|
import com.facebook.flipper.plugins.leakcanary.LeakCanaryFlipperPlugin;
|
|
|
|
client.addPlugin(new LeakCanaryFlipperPlugin());
|
|
```
|
|
|
|
Next, build a custom RefWatcher using RecordLeakService: (see [LeakCanary docs](https://github.com/square/leakcanary/wiki/Customizing-LeakCanary#uploading-to-a-server) for more information on RefWatcher)
|
|
```java
|
|
import com.facebook.flipper.plugins.leakcanary.RecordLeakService;
|
|
|
|
RefWatcher refWatcher = LeakCanary.refWatcher(this)
|
|
.listenerServiceClass(RecordLeakService.class)
|
|
.buildAndInstall();
|
|
```
|
|
|
|
|
|
Then, add the `RecordLeakService` in your debug variant AndroidManifest.xml.
|
|
|
|
```xml
|
|
<service android:name="com.facebook.flipper.plugins.leakcanary.RecordLeakService" />
|
|
```
|