Android:哪个线程调用.onSensorChanged?

And*_*bie 6 multithreading android callback sensor runnable

我已经阅读了一些关于哪个线程调用各种回调方法的讨论,例如与Sensors相关的回调方法.大多数人声称UI线程调用回调 - 即使涉及单独的工作线程.我们对此有所了解吗?

请考虑以下情形:单独的类实现Runnable和SensorListener.UI线程(在onCreate期间)启动runnable,然后返回其他业务.现在独立的工作线程在其自己的类中注册SensorListener.

请注意,UI线程永远不会与SensorManager或SensorListener进行任何交互.唯一涉及与Sensor有关的线程,以及它所知道的唯一类和成员方法,是工作线程及其类.

我很难想象UI线程会在这种情况下调用回调.然而,在线讨论非常"自信".有人知道吗?

谢谢!

Com*_*are 5

我们对此有所了解吗?

是的,虽然这取决于您如何注册监听器,但行为并未特别详细记录.

有两种registerListener()方法需要SensorEventListener.一个需要a Handler,另一个不需要.后者将使用Handler与主应用程序线程相关联的.如果你想有传送到后台线程的事件,使用HandlerThread(这确实应该叫LooperThread,但他们没有问我......),创建Handler于它,并使用HandlerregisterListener().