应该在服务中使用什么来摆脱UI线程?解决方案从主线程在服务中移动?
对于这两个启动的服务和绑定的服务
- 装载机
- 的AsyncTask
- 简单的线程
- Robospice图书馆
- 还是其他什么东西
我希望我的服务,即使如此,仍继续运行该应用程序在后台。
我想服务运行时间不定。
谢谢。
应该在服务中使用什么来摆脱UI线程?解决方案从主线程在服务中移动?
对于这两个启动的服务和绑定的服务
我希望我的服务,即使如此,仍继续运行该应用程序在后台。
我想服务运行时间不定。
谢谢。
使用IntentService。它是Service的一个子类。它会自动在后台线程中运行代码。执行完成后它自行清除。您不必停止IntentService。
如果你需要运行一个长期的任务,并停止后的服务,你应该使用IntentService - 它在不同的thred运行和停止本身工作完成后。从您的描述中可以看出,您希望Service无限期地运行。为此,你应该使用RxJava库。它具有执行并发操作的许多优点,请参阅文档以获取更多详细信息。 为主线程提供两个线程池和调度程序; 轻松允许同步并发任务 - 您可以执行一个任务,等待另一个任务等,而无需使用纯java的锁。 您可以在一个线程上运行作业,然后在另一个线程上处理结果等; 您可以以反应方式处理结果; 您可以从HandlerThread创建自己的调度程序,并为所有任务使用单线程
谢谢。是的,我希望我的服务无限期地运行。你能请我带一些好的链接。因为我不知道RxJava,我也不知道这是否是离开服务主线程的最佳方式。 –
6)[IntentService](https://developer.android.com/reference/android/app/IntentService.html)这取决于什么你在做。使用适合您需求的产品。 – codeMagic
子类'Service'和启动后台'Thread'有 – Blackbelt
......你也应该remeber约wakelocks ...... – Selvin