我希望运行一个服务,从外部传感器获取数据并在每秒更新UI,而不会阻塞主线程。最有效的方法是什么?线程,IntentService,Service?还是其他方法?
提前感谢!
提前感谢!
首先-服务在UI线程上运行。因此,服务无法解决阻塞主线程的问题。当然,获取传感器读数很快,所以您不必担心它。
您还用数据做什么?如果只是为了更新UI,则不需要服务。只需在活动中注册传感器事件,并在获取传感器事件时更新UI即可。如果您想要执行其他操作,例如在应用程序在后台时保存数据,则可能需要查看服务。
如果你的应用程序的目标是 Android 5.0(API 级别 21)或更高版本,则应使用 JobScheduler。