有個標準的activity,在onCreate中啟用新執行緒執行下載資料功能和顯示下載進度條。
但有時候會因各種原因卡主,無法下載成功,并且沒有回傳下載失敗,導致activity沒有被銷毀。
下車再執行下載時又呼叫了原來的activity的onStart函式,所以不會重新下載。按說標準的activity,startActivity時不應該重新起一個新的activity嗎?為什么呼叫的還是舊的activity呢?
那現在如果把activity設定為singleTask模式,每次呼叫的都是同一個activity。在onStart中執行下載操作的話,怎么區分是新呼叫的還是滅屏后亮屏執行到的呢?
另外,服務器不支持多執行緒下載資料。
可以在呼叫activity時在intent中每次設定一個不同的引數值表示新呼叫。在activity的onStart中取出intent的引數值與舊值進行比較,有變化就是新呼叫。
那除了這樣,大家都是怎么區分的呢?因為用戶滅屏再亮屏會重新執行onStart函式,所以需要區分是不是新呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/198866.html
標籤:Android
