Coincé au “Dumping mémoire, application de geler. Brrr.” message
Je suis en train d'utiliser LeakCanary pour détecter les fuites de mémoire dans mon application, mais elle ne va pas plus loin que le message "vidage de mémoire, application de geler. Brrr." J'ai été en attente pendant environ 20 minutes ou plus, mais pas de changements. Même comportement sur ces appareils:
1. Asus fonepad 8 (Android 5.0 stock)
2. Sony Xperia SP (Android 5.1.1 CM 12.1 personnalisé)
3. HTC Desire C (Android 4.4 CM 11 personnalisés)
J'ai tout fait comme conseillé dans l'enseignement:
public class ExampleApplication extends Application {
@Override public void onCreate() {
super.onCreate();
LeakCanary.install(this);
}
}
- Ayant le même problème, vous ne savez pas comment le résoudre...
- Même ici, sur un Nexus 5 sous Android M... quelqu'un A corrigé depuis ?
- juste une fois, la bibliothèque a travaillé en tant que supposé et fini de dumping dans environ 10 secondes. J'ai ouvert LeakActivity ensuite, et a constaté que la principale source de fuite a été... LeakActivity oO
- Pouvez-vous veuillez choisir une réponse correcte?
- Je ne peux pas, car il n'existe pas de réponse
- bsautner la réponse n'a pas fonctionné pour vous?
- non, parce que pour ce que vous pourriez avoir remarqué que je ne suis pas en utilisant android M
Vous devez vous connecter pour publier un commentaire.
Si vous êtes sur Android M, vous devez accorder l'écriture "stockage externe" de l'autorisation ou de la fuite des canaries se bloque pendant une longue période avec le brrr message. Dans vos applications tiroir, longue cliquez sur le lanceur de fuite canaries (comme vous allez le désinstaller) et faites-le glisser jusqu'à l'application "info" et mettez le stockage de l'autorisation.
1.4-beta1
version de Leakcanary. Gérer le stockage de l'autorisation sur M :When a potential leak is detected, if the storage permission is missing, we drop the leak and we show a notification. That notification will then show the permission dialog.
Vous devez ajouter le RefWatcher à votre fragment ainsi comme ce qui est décrit sur la page du projet: https://github.com/square/leakcanary
LeakCanary.installer() renvoie une pré-configurée RefWatcher. Il installe également un ActivityRefWatcher qui détecte automatiquement si une activité est en fuite après l'Activité.onDestroy() a été appelé.
Vous pouvez utiliser le RefWatcher de regarder pour le fragment de fuites:
D'ailleurs, si vous voulez obtenir le heap dump lors de la fuite de mémoire qui s'est passé, il suffit d'ouvrir l'Appareil Android Moniteur à partir d'Android Studio, et sélectionnez l'onglet "Explorateur de Fichiers". Dans le répertoire /mnt/shell/emulated/0/Download/leakcanary/detected_leaks, vous trouverez toutes les tas de fichiers de vidage.
LeakCanary.install(this)
ligne dans leApplication#onCreate()
méthode.