gpt4 book ai didi

android - 当我的服务运行 TimerTask 时,如何防止 UI 挂起?

转载 作者:太空狗 更新时间:2023-10-29 13:37:54 24 4
gpt4 key购买 nike

我有一个包含 Timer 和 TimerTask 的服务,用于在一段时间内从 Webservice 接收数据。当我的 TimerTask 运行时,UI 会挂起,直到 Web 服务进程完成。如何将我的任务放在一个线程中以防止 UI 挂起?

我的代码:

Timer timerSyncFull = new Timer();

class taskSyncFull extends TimerTask {
@Override
public void run() {
hSyncFull.sendEmptyMessage(0);
}
};



final Handler hSyncFull = new Handler(new Callback() {
@Override
public boolean handleMessage(Message msg) {
procSyncFull();
return false;
}
});

public void procSyncFull() {
try {
// My webservice process

} catch (Exception e) {
}
}



@Override
public void onStart(Intent intent, int startId) {

timerSyncFull = new Timer();

timerSyncFull.schedule(new taskSyncFull(), 5*60*1000,
5*60*1000);

}

最佳答案

使用 AsyncTasks 或将您的 Handler 附加到另一个 Looper 线程。

关于android - 当我的服务运行 TimerTask 时,如何防止 UI 挂起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8768612/

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