后台服务不断更新UI

时间:2017-10-26 12:59:41

标签: android multithreading service background intentservice

我想运行从外部传感器获取数据的服务,并在不阻塞主线程的情况下每秒更新UI 。什么是最有效的可能性?线程,IntentService,服务?还是其他什么?

提前致谢!

4 个答案:

答案 0 :(得分:2)

如果要定期更新UI并且活动必须访问服务方法,则应使用绑定服务。

Service vs IntentService

检查此link

中android中的绑定服务的工作方式

答案 1 :(得分:1)

我认为你应该使用绑定服务。Read here

以下是一些例子:

  1. example1
  2. example2

答案 2 :(得分:1)

首先关闭 - 服务在UI线程上运行。所以服务不会解决阻塞主线程的问题。当然,获取传感器读数很快,因此您不必担心它。

您还在使用其他数据?如果它只是为了更新UI,则不需要服务。只需在活动中注册传感器事件,并在获得传感器事件时更新UI。如果您想要做其他事情,比如即使应用程序在后台也能保存数据,那么您可能需要查看服务。

答案 3 :(得分:0)

如果您的应用针对Android 5.0(API级别21)或更高版本,则应使用

JobScheduler