我正在开发一个需要连续处理加速度值一段时间(大约一个小时)的应用程序 - 是的,我真的很想这样做。处理涉及进行一些计算并不时更新 UI。加速度是在(前台)服务中收集的 - 如果用户也最小化应用程序,则应该会收集加速度。
我的问题是:实现这一点最合适的模式是什么?我不希望处理使应用程序 UI 无响应。
现在我正在 UI 线程(在服务中)收集加速度数据。然后将收集到的数据传递给一个类,该类进行一些计算并基于它们广播一个 Intent,该 Intent 注册在 Main 活动中以更新 UI。
我应该在服务的工作线程中收集加速度数据吗?(这甚至可能)?或者我应该在另一个线程中进行处理?(在不使 UI/加速收集线程或处理线程挨饿的情况下,最好的方法是如何做到这一点)?
谢谢!