Android 在事件侦听器中放入计算密集型代码是一种不好的做法吗?

Android 在事件侦听器中放入计算密集型代码是一种不好的做法吗?,android,multithreading,event-handling,event-listener,Android,Multithreading,Event Handling,Event Listener,正如标题所说,将计算密集型代码放在事件侦听器中是一种不好的做法吗 我目前正在从事一个android项目,它以最快的速度(每10毫秒)读取传感器的数据。在一段时间内,我用传感器的采样数据进行了大量的计算。现在,我将计算密集型代码放入传感器事件侦听器中 在传感器事件监听器中完成计算之前,是否可能发生另一个传感器事件并再次调用同一个传感器事件监听器?在这种情况下我会丢失数据吗 如果这是不可能的,并且传感器事件侦听器将阻止传感器读取产生的中断,那么如果重新启用读取传感器数据的功能需要很长时间,我是否会丢

正如标题所说,将计算密集型代码放在事件侦听器中是一种不好的做法吗

我目前正在从事一个android项目,它以最快的速度(每10毫秒)读取传感器的数据。在一段时间内,我用传感器的采样数据进行了大量的计算。现在,我将计算密集型代码放入传感器事件侦听器中

在传感器事件监听器中完成计算之前,是否可能发生另一个传感器事件并再次调用同一个传感器事件监听器?在这种情况下我会丢失数据吗

如果这是不可能的,并且传感器事件侦听器将阻止传感器读取产生的中断,那么如果重新启用读取传感器数据的功能需要很长时间,我是否会丢失一些传感器数据

在这种情况下,什么是好的编码实践?我是否应该使用多线程,让另一个线程不断检查传感器事件侦听器设置的标志,以启动计算密集型代码


谢谢。

之后您将如何处理这些数据?在数据库中持久化,以某种方式向用户显示?我会推荐一个
IntentService
。我用它来训练神经网络。很难说你应该如何处理它。我的建议是使用
IntentService
AsyncTask
。您绝对不应该在receiver.THX中执行cpu密集型操作。我会深入研究的