2013-08-30 34 views
0

如果我将侦听器附加到设备的传感器上(如下所示),在这种情况下,当onSensorChanged发生时,哪个线程运行generateNewRotation方法,主线程或...?android-哪个线程运行onSensorChanged?

SensorEventListener sensorListener = new SensorEventListener() { 

     @Override 
     public void onSensorChanged(SensorEvent event) { 

      generateNewRotation(); 
     } 

     @Override 
     public void onAccuracyChanged(Sensor sensor, int accuracy) { 
     } 
    }; 

回答

3

OnSensorChanged()在主线程中调用,也称为UI线程。

+1

此外,我发现一个类似于你的问题。 '2)onSensorChanged函数是否在活动线程之外的其他线程上运行?' **它在不同的线程上运行,它依赖于它所附加到的活动(实现SensorEventListener接口的活动或包含一个从SensorEventListener对象上创建的匿名内部类实例化的对象)。** [Here](http://stackoverflow.com/questions/5743271/info-on-onsensorchanged-of-android-acccelerometer)是链接。希望这可以帮到你。 – YX1990