我有實現的的AsyncTask如下:「活動A」的的AsyncTask不執行,如果我重新打開「活動A」之前的原始的AsyncTask完成執行
AsyncTask asyncTask = new AsyncTask() {
@Override
protected Object doInBackground(Object[] params) {
//downloading images from google places api
}
@Override
protected void onPostExecute(Object o) {
}
}
};
asyncTask.execute();
此的AsyncTask被觸發運行多次,並由另一個AsyncTask的doInBackground()方法的作用域執行。它運行良好第一次我打開一個活動,如果我讓所有的數據下載,然後退出活動(這樣的onStop()被調用),並重新打開它也運行得很好,那麼,但活性,如果我在下載所有數據之前退出活動,但在重新打開活動時不會運行。
有誰知道這是爲什麼?任何人都可以推薦一個更好的方法,不涉及AsynTask?
注:我嘗試過使用executeOnExecutor(),但它沒有解決問題。
在此先感謝
你在哪個方法開始任務?另外,你如何離開並重新進入活動? –
我在另一個任務的doInBackground()方法中調用的方法中啓動任務。我離開並重新進入活動的原因是模擬用戶在應用程序中的不同屏幕上迭代 –
在哪種方法中,您正在開始第一個任務? –