Ich sehe, dass ein Benutzer von mir einen Absturz hat. Woher weiß ich, wann dieser Absturz passiert ist? In welcher Aktivität ist es passiert? Welche Codezeile?

Ich verwende die Bitmap-Factory nirgendwo, aber ich zeige einige Bilder in ImageView an.

Hier ist der Absturz, wie er mir in der Firebase-Konsole gezeigt wurde:

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)

Ich habe diesen Absturz nie selbst bekommen? Ich kann sehen, auf welchem Gerät es passiert ist (Galaxy S3), also habe ich es in einem Emulator versucht und alles hat funktioniert.

Vielen Dank

Hier ist ein Screenshot aus der E-Mail Bildbeschreibung hier eingeben

2
RJB 17 Jän. 2019 im 21:41

3 Antworten

Beste Antwort

Ich glaube nicht, dass dies von einem Benutzer kommt. Der Ursprung Ihrer Stapelverfolgung ist com.google.android.apps.mtaas.crawler. Dies ist höchstwahrscheinlich auf den Goole Play Pre-Launch-Test zurückzuführen Bericht, wenn Sie Ihre * .apk an Google Play gesendet haben. Dies geschieht automatisch. Und wie in einem der anderen Kommentare angegeben, sieht es so aus, als würde der Speicher knapp, wenn der Crawler einen Screenshot macht.

Wenn Sie sich bei Google Play anmelden, sollte eine Option zum Anzeigen des Prelaunch-Testberichts angezeigt werden (gehen Sie im linken Menü zu Release Management -> Pre-launch report). Tatsächlich hätten Sie eine Warnung erhalten müssen, bevor Sie die App veröffentlicht haben, glaube ich. Dies ist wahrscheinlich ein Fehler in diesem Dienst und kein Benutzer. Sie müssen sich also wahrscheinlich keine Sorgen machen. Es könnte jedoch eine gute Idee sein, einen Fehler bei Google Play zu melden.

6
SharpMobileCode 17 Jän. 2019 im 19:16

Sie versuchen, die vollständige Bitmap zu laden, und haben nicht genügend Speicher.

Lesen Sie den Artikel für Android-Entwickler, um Bitmaps effizient zu laden:

https://developer.android.com/topic/performance/graphics/load-bitmap

1
Cody Caughlan 17 Jän. 2019 im 18:50

Wenn Sie sich mit Ihrer E-Mail verbunden haben, erhalten Sie immer eine E-Mail von firebase

so Bildbeschreibung hier eingeben

0
Ayodele Kayode 17 Jän. 2019 im 18:58