我有服务,我想拍摄用户的照片。 我有一个计时器任务
myTimer = new Timer();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod();
}
}, 0, 3000);
和计时器方法
private void TimerMethod(){
if (na != null)
zzz.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable() {
public void run() {
takePhoto(getApplicationContext(), 1);
}
};
我的问题是,如果我runOnUiThread,应用程序运行速度较慢。
如何在不会影响用户体验的其他线程中运行?
非常感谢。
答案 0 :(得分:0)
你的TimerTask在主线程中运行,这将使app运行速度变慢。你需要一个新的线程来运行方法TimerMethod,就像这样:
myTimer.schedule(new TimerTask() {
@Override
public void run() {
new Thread(new Runnable() {
@Override
public void run() {
TimerMethod();
}
}).start();
}
}, 0, 3000);