Je vois qu'un de mes utilisateurs a eu un crash. Comment savoir quand ce crash s'est produit? Dans quelle activité cela s'est-il produit? Quelle ligne de code?
Je n'utilise la fabrique Bitmap nulle part, mais j'affiche des images dans ImageView.
Voici le plantage qui m'est montré dans la console Firebase:
Fatal Exception: java.lang.OutOfMemoryError at android.graphics.Bitmap.nativeCreateFromParcel(Bitmap.java) at android.graphics.Bitmap.access$000(Bitmap.java:31) at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1308) at android.graphics.Bitmap$1.createFromParcel(Bitmap.java:1300) at android.app.IUiAutomationConnection$Stub$Proxy.takeScreenshot(IUiAutomationConnection.java:224) at android.app.UiAutomation.takeScreenshot(UiAutomation.java:599) at com.google.android.apps.mtaas.crawler.platform.common.Utils.takeScreenshot(Utils.java:42) at com.google.android.apps.mtaas.crawler.platform.hybrid.ViewScreenStateBuilder.traverseAndBuild(ViewScreenStateBuilder.java:41) at com.google.android.apps.mtaas.crawler.platform.hybrid.HybridStateExtractor.tryExtractingScreenState(HybridStateExtractor.java:40) at com.google.android.apps.mtaas.crawler.platform.hybrid.HybridStateExtractor.getStableScreen(HybridStateExtractor.java:8) at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.handlePerformScrape(RemotePlatform.java:40) at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform.access$400(RemotePlatform.java:81) at com.google.android.apps.mtaas.crawler.controller.remote.RemotePlatform$ControllerMessageHandler.handleMessage(RemotePlatform.java:10) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.os.HandlerThread.run(HandlerThread.java:61)
Je n'ai jamais eu ce crash moi-même? Je peux voir sur quel appareil cela s'est produit (Galaxy S3), alors je l'ai essayé dans un émulateur, et tout a fonctionné.
Merci
3 Réponses :
Vous essayez de charger le Bitmap complet et vous manquez de mémoire.
Consultez l'article des développeurs Android pour charger efficacement les bitmaps:
https://developer.android.com/topic/performance/graphics / load-bitmap
Je n'ai pas de bitmaps dans mon application!
Il semble que l'essentiel est que l'utilisateur prenne une capture d'écran
hmmm. c'est intéressant.
Je ne pense pas que cela vienne d'un utilisateur. L'origine de votre trace de pile est com.google.android.apps.mtaas.crawler
. Cela provient probablement du Test de pré-lancement de Goole Play Signalez lorsque vous avez envoyé votre * .apk sur Google Play. Cela se produit automatiquement. Et comme l'un des autres commentaires l'a déclaré, il semble qu'il manque de mémoire lorsque le robot d'exploration prend une capture d'écran.
Si vous vous connectez à Google Play, vous devriez voir une option pour afficher le rapport de test de prélancement (dans le menu de gauche, allez dans Gestion des versions -> Rapport de pré-lancement
). En fait, vous auriez dû recevoir un avertissement juste avant de publier l'application, je crois. Il s'agit probablement d'un bogue dans ce service et non d'un utilisateur. Vous n'avez donc probablement pas à vous en soucier. Bien que ce soit une bonne idée de signaler un bug sur Google Play.
Mille mercis. C'était ça.