從長遠來看,AsyncTask會產生一個內存泄漏:如果AsyncTask長時間持續 ,它會保持活動「活躍」,而Android想要 擺脫它,因爲它不能再顯示。該活動不能被 垃圾收集,這是Android的一箇中心機制,通過 可以保留設備上的資源。如果Asynctask正在運行,那麼即使在finish()方法之後,活動仍然活着?
這是否意味着,如果我們調用finish()
方法的AsyncTask運行,然後也活動將繼續「活着」嗎?如果沒有,那麼這是什麼意思
如果的AsyncTask持續多久,它保持活動「活着」?
活動一定會健在,除非我們稱之爲finish()
方法或我們按回button.Does這意味着,如果asyntask運行,然後將活動即使以後還活着?
我真的不知道,但我的理解是,隨着的AsyncTask運行活動將留只要活着,系統會自動doesn't完成它。 Android系統是一種「自我清潔」機制,如果緊急需要資源,它可以殺死未使用的應用程序,甚至可以運行應用程序。但是如果您完成活動,我認爲活動已被破壞,因爲您直接由自己而不是從系統調用它。如果您按下後退按鈕,通常不會銷燬活動,除非您在onBackButtonPress()中調用finish()。 – Opiatefuchs