gpt4 book ai didi

Android:哪个线程调用.onSensorChanged?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:00:31 31 4
gpt4 key购买 nike

我读过一些关于哪个线程调用各种回调方法的讨论,例如与传感器关联的回调方法。大多数声称 UI 线程调用回调 - 即使涉及单独的工作线程。我们确定吗?

考虑这种情况:一个单独的类实现 Runnable 和 SensorListener。 UI 线程(在 onCreate 期间)启动可运行对象,然后返回到它的其他业务。现在独立的工作线程在它自己的类中,然后注册 SensorListener。

请注意,UI 线程从不与 SensorManager 或 SensorListener 进行任何交互。唯一接触过与 Sensor 有关的任何事情的线程,以及它所知道的唯一类和成员方法,是工作线程及其类。

我很难想象 UI 线程会在这种情况下调用回调。然而网上的讨论却相当“自信”。有人知道吗?

谢谢!

最佳答案

Are we CERTAIN about that?

是的,尽管这取决于您注册监听器的方式,并且该行为没有特别详细的记录。

有两个 registerListener() 方法接受一个 SensorEventListener。一个接受 Handler,另一个不接受。后者将使用与主应用程序线程关联的 Handler。如果您希望将事件传递到后台线程,请使用 HandlerThread(实际上应该称为 LooperThread,但他们没有问我...),在其中创建一个 Handler,并将该 HandlerregisterListener() 一起使用。

关于Android:哪个线程调用.onSensorChanged?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17681870/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com