0
我正在使用以下函數創建一個新線程。UI線程凍結
public void toCallAsynchronous() {
mThread = new Thread() {
public void run() {
while (true) {
try {
// do something here
if(mLoggedIn)
{
boolean syncresult = mDownload.syncData();
}
Log.d(TAG, "local Thread sleeping");
Thread.sleep(10000);
//mHandler.postDelayed(this, 1000);
} catch (InterruptedException e) {
Log.e(TAG, "local Thread error", e);
}
}
}
};
mThread.start();
}
我打電話給onResume,因爲我希望此線程只在用戶登錄到他的帳戶時才啓動。 synData函數訪問服務器以獲取新文件,下載它們並將條目更新到數據庫中。你能否確定我在這裏做錯了什麼?
謝謝亞歷克斯。我將其更改爲(mRunning),並在onResume中將其設置爲true,並在onPause和onDestroy中將其設置爲false。此外,還有一些關於syncData的UI操作,它在刪除後可以完美運行。 – Ankuj