簡體   English   中英

應用在關閉后正在運行

[英]App is running after closing

每當我嘗試關閉前台服務時,即使未打開任何活動,我的應用程序仍會繼續運行。 我進行了一些分配和功能跟蹤測試,並注意到,但是,我的應用程序仍處於打開狀態,並使用了幾MB的內存,在關閉服務后沒有調用我的任何方法。 只有Java和Android的東西。 哦,看來我的應用在此期間也泄漏了內存。 根據我的應用程序的Java堆,實例化了成千上萬個FinalizerReferences。 這會導致如此大的問題嗎?為什么會這樣呢?

它是這樣的:

在此處輸入圖片說明

它的默認android屬性,即使您關閉了應用程序,該應用程序仍繼續在后台運行,服務等功能很少在后台運行。 您可以強行退出我不建議的應用程序,或者讓android在需要時自動關閉它

Android應用及其組件具有獨特的生命周期。 參見此處: http : //developer.android.com/guide/components/processes-and-threads.html

這就是android的工作方式,您擁有的每項活動和服務都只能在一個稱為UI線程的線程中執行,該線程本身以及您創建的其他線程都在單個進程中運行。

在systme有足夠的內存來容納新內容之前,Android不會關閉該過程,因此,如果您要再次運行程序,則它會盡快啟動。 但是您可以使用exit()函數終止整個過程。

實際上,活動或服務不是程序,而是在程序進程內部的UI線程中運行的一段代碼,現在,該程序就是您的程序,即使通過廣播接收方調用也可以啟動該程序!

當您想完全關閉應用程序時調用finish()會殺死該應用程序並釋放其資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM