回答

0

與最新的AndroidStudio告訴你的相反,只要你正確處理,你可以隨時隨地使用AsyncTask。這意味着如果你從一個活動或片段中釋放它,當活動/片段銷燬時,你應該取消你的AsyncTask。他們警告它的原因是因爲經常AsyncTask有一個參考活動。如果AsyncTask永遠消失並且活動破壞,則AsyncTask仍在運行並持有對活動的引用。這個硬引用使Activity不被垃圾收集,並且一旦它完成到被銷燬的Activity中,你仍然可以獲得任何AsyncTask回調。但是,通過簡單地通過使其生命週期感知,可以輕鬆避免這種情況:調用AsyncTask.cancel(true)。在架構上,這取決於您自己決定。

TLDR;當你不再需要時,一定要取消你的asynctask。

相關問題