libreria leak last example android memory-leaks leakcanary

android - example - leakcanary last version



Atascado en "Dumping memory", la aplicación se congelará. Brrr. "Mensaje (2)

También debe agregar RefWatcher a su fragmento al igual que lo que se describe en la página del proyecto: https://github.com/square/leakcanary

LeakCanary.install () devuelve un RefWatcher preconfigurado. También instala un ActivityRefWatcher que detecta automáticamente si se está filtrando una actividad después de haber llamado a Activity.onDestroy ().

public class ExampleApplication extends Application { public static RefWatcher getRefWatcher(Context context) { ExampleApplication application = (ExampleApplication) context.getApplicationContext(); return application.refWatcher; } private RefWatcher refWatcher; @Override public void onCreate() { super.onCreate(); refWatcher = LeakCanary.install(this); } }

Puede usar el RefWatcher para ver fugas de fragmentos:

public abstract class BaseFragment extends Fragment { @Override public void onDestroy() { super.onDestroy(); RefWatcher refWatcher = ExampleApplication.getRefWatcher(getActivity()); refWatcher.watch(this); } }

Además, si desea obtener el volcado del montón cuando se produce una pérdida de memoria, simplemente abra el Android Device Monitor desde Android Studio y seleccione la pestaña "Explorador de archivos". En el directorio / mnt / shell / emulated / 0 / Download / leakcanary / detected_leaks, encontrará todos los archivos de volcado del montón.

Intento usar LeakCanary para detectar fugas de memoria en mi aplicación, pero no va más allá del mensaje "Volcado de memoria, la aplicación se congelará. Brrr". He estado esperando aproximadamente 20 minutos más o menos, pero sin cambios. Mismo comportamiento en estos dispositivos: 1. Asus fonepad 8 (Android 5.0 stock) 2. Sony Xperia SP (Android 5.1.1 CM 12.1 personalizado) 3. HTC Desire C (Android 4.4 CM 11 personalizado)

Hice todo lo que se aconseja en la instrucción:

public class ExampleApplication extends Application { @Override public void onCreate() { super.onCreate(); LeakCanary.install(this); } }


Si tiene Android M, debe otorgar el permiso de "escritura de almacenamiento externo" o el canario de fuga se bloqueará durante mucho tiempo con el mensaje brrr. En el cajón de aplicaciones, haga clic en el iniciador para detectar canary (como si fuera a desinstalarlo), arrastre hacia arriba hasta "información de la aplicación" y active el permiso de almacenamiento.