我正在尝试在JobService的后台线程中创建MQTT连接/套接字连接。我担心的是,当我创建连接时,JobService只是被销毁了。它是否可以在背景中存活一段时间?否则它将永远被摧毁?
答案 0 :(得分:1)
使用JobService.jobFinshed
。此处的说明:Android: How to use JobFinished of JobService
但是简而言之:当您在onStartJob
中醒来时产生一个新线程,并从该方法中返回true
的值(这告诉OS不要杀死您并为您保留唤醒锁)。然后,在完成单独线程的工作后,调用JobService.jobFinished
(从您产生的bg线程)最终告诉OS释放唤醒锁并杀死作用域/上下文。
答案 1 :(得分:0)
JobService可以存活多长时间?
在应用程序还没有运行之前,或者您自己杀死了该应用程序。
在android O中,一旦应用程序被清除/杀死,甚至后台服务也会被OS自动销毁/杀死。