我的 Android 代码中有一个事件处理机制,可以将传感器值转储到文件中。现在,我在主 UI 线程中执行此操作,因此 UI 按钮响应非常缓慢,我想加快速度。
如何在事件处理函数上使用多线程?我正在尝试这样做:
- 创建一个全局变量 writeNow。
- 当传感器值发生变化时,设置WriteNow = true
在类中创建一个线程,如下所示:
Thread thread1 = new Thread() { public void run() { if(writeNow == true) { try { fos.write(s.getBytes()); } catch (IOException e) { e.printStackTrace(); } writeNow = false; } } };
因此,只要 writeNow 为真,它就会写入文件,然后将 WriteNow 设置为假。但是,我意识到这不是正确的方法,因为线程将执行一次然后停止执行。当我用while(true)和wait()尝试一个简单的例子时,我发现线程被中断了数百万次。
那么如何将这个事件处理机制封装在一个线程中,以加快进程呢?
谢谢!