簡體   English   中英

從android中的應用程序退出的方法

[英]way to exit from the app in android

我有一個HomeActivity(在3秒內顯示啟動畫面),然后自動重定向到LoginActivity(用於檢查登錄用戶信息)。 在LoginActivity中,我有一個退出按鈕,用於退出應用程序,代碼如下

        // TODO Auto-generated method stub
         finish();
         android.os.Process.killProcess(android.os.Process.  myPid());
         System.exit(0);

我再次在onDestroy()中使用了相同的代碼。 但是,當我嘗試退出該應用程序時,程序已牢固關閉。 但仍保留在內存中(在后台應用列表中)。 我該如何解決?

打電話來不是一個好主意:

android.os.Process.killProcess(android.os.Process.myPid());
System.exit(0);

因為android會自動處理進程。 還將您的應用從最近的錯誤行為中排除。

順便說一下,您可以在清單中的“退出”活動標簽下放置:

android:excludeFromRecents="true" 

當該應用關閉時,它不會出現在最近的應用中

編輯

如果它在Android 5.0中不起作用,則是一個已報告的錯誤,因此添加taskAffinity屬性並使用autoRemoveFromRecents:

android:taskAffinity=".YourExitActivity"
android:autoRemoveFromRecents="true"

然后在您的onPause()您可以檢查sdk版本以使用finishAndRemoveTask

if(android.os.Build.VERSION.SDK_INT >= 21) {
    finishAndRemoveTask();
} else {
    finish();
}

finish()就足夠了。

如果在調用finish()之后應用仍保留在內存中,則可能是應用中的內存泄漏。

在清單中提及標簽時,我們可以保持

 `android:`noHistory=true

這樣提到的活動就不會退回堆棧。

例如:

<activity
            android:name="Splash_Activity"
            android:label="Splash"
            android:noHistory="true" />

您可以只調用finish()來關閉活動。

暫無
暫無

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

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