2012-08-03 77 views
0

我爲我的許可證項目工作,其中一部分包含在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中的任何線程策略,還是其他?可能是什麼問題呢?

回答