我爲我的許可證項目工作,其中一部分包含在android客戶端中。一切正常,直到我將手機升級到Android 4.0.4。android 4.0.4奇怪的行爲
所以,我有一個AsyncTask。它看起來像這樣:
public class TestTask extends AsyncTask<Context, Integer, Long> {
@Override
protected Long doInBackground(Context... params) {
for (int i = 0; i < 10; i++) {
System.out.println("nothing-" + i);
if (i == 5) {
TestTask2 testTask2 = new TestTask2();
testTask2.execute(null);
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return null;
}
}
這個任務等待5秒,比它調用另一個異步任務,TestTask2。
public class TestTask2 extends AsyncTask<Context, Integer, Long> {
@Override
protected Long doInBackground(Context... params) {
System.out.println("task 2 in action");
return null;
}
}
在機器人4.0.3或更低時,輸出爲:
沒什麼-0無 - 無1-2無 - 3無-4無 - 5
任務2在動作
沒什麼-6無 - 7無8無9
當我升級到4.0.4時,第二個任務直到第一個任務完成時纔開始。
沒什麼-0無 - 1無2無 - 3無-4無 - 5無 - 6無 - 7無8無9在動作
任務2
是否有Android 4.0.4中的任何線程策略,還是其他?可能是什麼問題呢?
謝謝你,它的工作吧! – grozandrei 2012-08-05 16:12:45