我正在使用廣告網絡在我的應用中顯示一些廣告。他們庫中的loadAd
函數有時會導致模擬器凍結(可能是因爲某些防火牆問題)。Android。 AsyncTasks
無論如何,我已經轉移到使用AsyncTasks
,其中我做了loadAd
方法的實際調用(所以UI不再起作用),它要求橫幅或其他服務器上的任何內容。
無論何時我重新啓動我的Activity
,調用Activity
的onDetroy
方法。在那裏,我打電話AscynTask's
cancel
方法,所以它會取消任務和...大概停止/刪除線程。
通過DDMS心中已經注意到看下面的事情:
查看快照:http://bayimg.com/EAkBaAaEH
每次我打電話AsyncTask
的execute
方法中,兩個AsynkTasks
創建(#1和#2)當我在`onDestroy()中調用cancel(true)
方法時,它似乎不會消失(被殺死)。
在Activity
重新啓動後,會創建另外兩個AsyncTasks
線程(#3和#4)。
在另一個Activity
重新啓動之後,又創建了一個AsynkTask
(#5)。
我該如何殺死任務?像在完全停止執行一樣?或者他們真的停止了,我只是誤解了DDMS?
當取消被稱爲asyntask doinBackground將繼續它的工作,當它完成時,而不是onPostExecute .. OnCancelListener將被稱爲 – baboo 2013-03-09 09:33:14
那麼,在廣告負載和所有東西后(列出的東西在'doInBackground'中完成),它仍然出現在'DDMS'中。這是爲什麼?爲什麼它不從DDMS中消失? – AndreiBogdan 2013-03-09 09:36:48