2013-08-25 56 views
3

我最近完成了我在Android上的第一個應用程序,並有一個非常基本的問題,我似乎無法找到答案。與大多數應用程序一樣,當您的手機上安裝了應用程序時,它將顯示在「設置」 - >「應用程序」列表中。我創建的應用程序與其他已下載的應用程序(如Facebook和Google Play商店)一起顯示在「已下載」部分。當從這個列表中選擇其中一個應用程序時,頂部會顯示兩個按鈕 - 「強制停止」和「卸載」。此列表中的某些應用程序具有「強制停止」灰色(我確定這表示它已被迫停止),其他應用程序會讓您單擊此按鈕。新的Android應用程序的「強制停止」

我想知道的是,如果「強制停止」不會變灰,仍然可以點擊,這是否意味着這會讓我的Android設備消耗一些電池壽命(即使數量非常少)仍然在做某種過程或通過佔用資源?當用戶點擊後退按鈕退出應用程序時,我添加了一個完成()方法到我的新應用程序,但「強制停止」按鈕仍然可點擊。我知道Android處理自己的東西並在需要時殺死應用程序,但是在Android完全殺死應用程序之前,我的新應用程序是否需要一些電池壽命?我只想知道學習的目的,並確保我不需要繼續添加代碼到我的新應用程序。謝謝。

回答

3

這意味着您的應用程序正在後臺運行,就像PC上的最小化應用程序一樣。完成並不會真正殺死應用程序,只有活動(一個應用程序可以包含多個活動和服務) - 任何其他活動/服務仍將繼續運行。如果某些服務或線程仍在處理中,它只會佔用電池電量,但它將繼續佔用RAM。這正是Android正常工作的方式,並且是所有預期的行爲。

0

當「強制停止」可用於應用程序,這意味着該應用程序仍在後臺運行。 Android操作系統爲您處理所有內存管理,當用戶退出應用程序時,Android會關閉您的應用程序,並將其中的一小部分「隱藏」在內存中,以加快用戶返回應用程序時的重新加載時間。

由於關閉應用有時會造成傷害,因此優選致電finish();。如果android需要內存,它會完全關閉你的應用並回收它保存的少量內存。

如果您覺得完全殺死您的應用程序是絕對必要的,您可以致電System.exit();,但是,一旦您完成操作,允許Android控制您的應用程序會更方便用戶。

相關問題