簡體   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