2011-02-18 59 views
1

我的應用程序非常簡單,主要活動 - >活動1 - >活動2,還有一個工作線程正在做一些下載工作。他們在同一個過程中開始。應用程序的生命週期:當進程終止時如何做一些乾淨的工作?

我希望下載線程不會被終止,直到所有活動被銷燬,或者在進程結束時。在Java中,它非常簡單:通過在主方法中添加一些乾淨的代碼即可。但我不知道什麼是Android的正確方法。因爲每個活動都可能被系統回收,所以我不知道在哪裏放置工作線程的乾淨代碼,我也不知道總體應用程序的終點是什麼。

任何人都可以給我一些想法嗎?謝謝。

+0

在android 2.1下,Application.onTerminate()似乎不起作用。我只能選擇爲工作線程(或服務)添加引用計數。當引用計數減少到零時,終止工作線程。 – loopscn 2011-02-18 06:39:09

+0

我發現我一直在退出Android應用程序感到困惑。我決定將工作線程更改爲一個Service,它將乾淨的代碼放入onDestroy方法中。顯式地添加一個菜單命令來退出整個應用程序,就像PC中的任何GUI程序一樣。非常感謝那些幫助我的人。 – loopscn 2011-02-18 08:17:01

回答

1

不確定它是否有幫助,但您可以在主要活動中啓動服務,並在Service的onDestroy方法中清除所有代碼。當您的應用程序被銷燬時,該服務將被銷燬

onTerminate僅在模擬器上有效 - 它在文檔中聲明。

相關問題