我的应用程序在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)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1563)<< li>
- at 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 ......),他们这样做是为了节省电池,我认为这是问题所在。
答案 0 :(得分:0)
说明
当活动进入Resumed状态时,它进入前台,然后系统调用onResume()回调。这是应用程序与用户交互的状态。应用程序保持此状态,直到出现问题 把注意力从应用程序上移开 Firebase JobDispatcher充当JobScheduler兼容层,用于定位Android版本低于5.0(API级别21)的应用。
Firebase JobDispatcher支持将Google Play服务用作调度(运行)作业的实现,但该库还允许您定义和使用其他实现:例如,您可能决定使用JobScheduler或编写自己的自定义代码。
作为结论的一部分,不要在主线程上运行繁重的代码,它会导致应用程序崩溃,使用新的线程实现它可以为你工作。