android - onSensorChanged(...) 中是否需要同步?

标签 android thread-safety android-sensors

我有一个 SensorEventListener,它在 onSensorChanged() 方法中执行如下操作:

public void onSensorChanged(SensorEvent e){
   values = e.values.clone();
   handleEvent(); //do some computations
}

其中values是一个类变量,将在handleEvent()方法中访问它以进行一些计算。 我现在的问题是我是否必须锁定变量值,即当其他线程位于handleEvent() 中时,值是否可以被调用 onSensorChanged() 的另一个线程覆盖?

预先感谢您的帮助!

最佳答案

OnSensorChanged 在 UI 线程内部被调用,因此如果您在 UI 线程之外的另一个线程中访问值,则需要同步或使用其他技术(例如队列)。

关于android - onSensorChanged(...) 中是否需要同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10321879/

相关文章:

java - Android 应用程序上的多个传感器

android - 屏幕关闭时如何获取服务中的传感器数据?

android - 如何将 ConstraintLayout 的子项放置在屏幕外(以便稍后可以将它们翻译到屏幕上)?

Android canvas - 画一个洞

c++ - 此信封实现是否正确使用 C++11 原子?

c++ - 使用 QtConcurrentRun 和 mutex 的非常简单的方法有时会出现段错误

android - 可用的 Android 设备传感器列表

android - Google Play 控制台发布不同的 apk 然后我上传

java - Android Uri 到文件大小

c++ - CreateToolhelp32Snapshot 函数线程安全吗?