[英]java.lang.IllegalStateException in android.app.Activity.performResume
我的应用程序在Android 7.0+中崩溃,我使用Firebase JobDispatcher,这是该报告:
java.lang.RuntimeException:
- 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3873)
- 在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3914)
- 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3070)
- 在android.app.ActivityThread.-wrap14(ActivityThread.java)
- 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1659)
- 在android.os.Handler.dispatchMessage(Handler.java:102)
- 在android.os.Looper.loop(Looper.java:154)
- 在android.app.ActivityThread.main(ActivityThread.java:6816)
- 在java.lang.reflect.Method.invoke(本机方法)
- 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1563)
- 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)
造成原因: java.lang.IllegalStateException:
- 在android.app.Activity.performResume(Activity.java:7154)
- 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3850)
更新:我发现有些设备会在一段时间后强制停止应用程序(华为Y7,iris80 ...),这样做是为了节省电池,我认为这是问题所在。
描述:
当活动进入“恢复”状态时,它进入前台,然后系统调用onResume()回调。 这是应用与用户互动的状态。 该应用程序保持在此状态,直到发生某些事情使该应用程序失去了焦点。 Firebase JobDispatcher充当JobScheduler兼容性层,用于定位Android版本低于5.0(API级别21)的应用。
Firebase JobDispatcher支持将Google Play服务用作调度(运行)作业的实现,但是该库还允许您定义和使用其他实现:例如,您可能决定使用JobScheduler或编写自己的自定义代码。
作为结论的一部分,不要在主线程上运行繁重的代码,这会导致App崩溃并使用新线程实施工具,这对您来说是可行的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.