繁体   English   中英

android.app.Activity.performResume中的java.lang.IllegalStateException

[英]java.lang.IllegalStateException in android.app.Activity.performResume

我的应用程序在Android 7.0+中崩溃,我使用Firebase JobDispatcher,这是该报告:

java.lang.RuntimeException:

  1. 在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3873)
  2. 在android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3914)
  3. 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3070)
  4. 在android.app.ActivityThread.-wrap14(ActivityThread.java)
  5. 在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1659)
  6. 在android.os.Handler.dispatchMessage(Handler.java:102)
  7. 在android.os.Looper.loop(Looper.java:154)
  8. 在android.app.ActivityThread.main(ActivityThread.java:6816)
  9. 在java.lang.reflect.Method.invoke(本机方法)
  10. 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1563)
  11. 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)

造成原因: java.lang.IllegalStateException:

  1. 在android.app.Activity.performResume(Activity.java:7154)
  2. 在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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM