【发布时间】:2018-06-20 20:04:42
【问题描述】:
如果我想在后台服务中创建一个单独的线程(扩展服务),当应用程序退出(单击主页按钮)或手机进入睡眠状态时,线程是否仍然能够运行?我想使用 Service 的行为,但是我的后台服务在主线程上过于繁重,导致我的 UI 出现跳帧。
【问题讨论】:
-
如果您的服务扩展了 Android 服务,那么它默认在主线程上运行。你的情况怎么是后台服务?
-
@user8035311 by 后台服务 我只是说它扩展了服务并且没有 UI。但是,由于服务默认在主线程上运行,因此会导致 UI 线程跳帧。我在问是否有任何方法可以在单独的线程上运行服务,同时即使应用程序不在前台,仍然保持继续运行的属性。
-
如果你扩展 IntentService 它将默认运行在一个单独的线程上,如果应用程序在后台可以继续运行。
-
是的,但是 IntentService 运行任务并在完成后退出。我希望服务在整个应用生命周期内运行。
标签: java android multithreading service background