Firebase Crashlytics 位图 OutOfMemoryError activity

Firebase Crashlytics Bitmap OutOfMemoryError which activity

我看到我的一个用户崩溃了。我怎么知道这次崩溃是什么时候发生的?它发生在哪个activity?哪一行代码?

我没有在任何地方使用位图工厂,但我确实在 ImageView 中显示了一些图片。

这是我在 Firebase 控制台中看到的崩溃:

Fatal Exception: java.lang.OutOfMemoryError
   at android.graphics.Bitmap.nativeCreateFromParcel(Bitmap.java)
   at android.graphics.Bitmap.access[=11=]0(Bitmap.java:31)
   at android.graphics.Bitmap.createFromParcel(Bitmap.java:1308)
   at android.graphics.Bitmap.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.access0(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)

我自己从来没有遇到过这种崩溃?我可以看到它发生在哪个设备上,(Galaxy S3),所以我在模拟器中试了一下,一切正常。

谢谢

这是电子邮件的屏幕截图

您正在尝试加载完整位图,但 运行 内存不足。

查看 Android 开发人员文章以高效加载位图:

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

如果您使用电子邮件连接,您将始终收到来自 firebase 的电子邮件

像这样

我认为这不是来自用户。堆栈跟踪的来源是 com.google.android.apps.mtaas.crawler。当您将 *.apk 提交给 Google Play 时,这很可能来自 Goole Play Pre-launch Test Report。这是自动发生的。正如其他评论之一所述,当抓取工具截取屏幕截图时,它看起来 运行 内存不足。

如果您登录 Google Play,您应该会看到一个用于查看预启动测试报告的选项(从左侧菜单转到 Release Management -> Pre-launch report)。事实上,我相信你应该在发布应用程序之前就收到警告。这可能是该服务中的错误,而不是用户。所以你可能不必担心它。尽管提交错误可能是个好主意 Google 播放。