2010-08-26 97 views
0

通常會爲每個活動分配和定義諸如線程,服務,內存分配等資源。 因此,資源將分配在Activity.onCreate()上並在Activity.pause()上釋放。 這是非常明確的。但是,假設我的資源是按每個應用程序分配的(即我定義了一個服務,這個服務被多個活動使用,或者,我使用NDK在本地層實例化一個線程)。分配這些資源不是問題。它可以簡單地在第一個活動開始時完成。問題是 - 這些資源何時應該被釋放?我如何知道我的應用程序何時結束? 根據文檔:http://developer.android.com/reference/android/app/Application.html#onTerminate() - 「注意:永遠不要依賴於此方法被調用;在很多情況下,不需要的應用程序進程只會被內核殺死而不執行任何應用程序代碼。」釋放應用程序資源

任何想法的人?

感謝, 的Eyal

回答

0

構建應用程序,讓你在每個活動的的onDestroy()recylce /騰出的東西。更多信息here

使用startActivityforResult您可以在程序中創建層次結構,以便在所有子代銷燬之前不會刪除父代使用的資源。

希望這會有所幫助。