ANDROID 完美退出APP的例項程式碼

NO IMAGE
1 Star2 Stars3 Stars4 Stars5 Stars 給文章打分!
Loading...

大家都知道 Android 的 Activity 是存著歷史棧的,比如從 A -> B -> C,C 完成 finish 後回到 B,把所有的Activity 都 finish了,程式就自然退出了。 當然在 finish 的同時也需要是否自己程式的其他資源。所以需要想個辦法把 Activity 給存起來。然後在程式退出的地方呼叫它們的 finish()方法。

使用全域性變數。對了,第一個想到的就是繼承 Application,程式碼入下:
複製程式碼 程式碼如下:
public class AgentApplication extends Application { 

    private List<Activity> activities = new ArrayList<Activity>(); 

        public void addActivity(Activity activity) { 
            activities.add(activity); 
        } 

        @Override 
        public void onTerminate() { 
            super.onTerminate(); 

            for (Activity activity : activities) { 
                activity.finish(); 
            } 

            onDestroy(); 

            System.exit(0); 
        } 
    }

然後在 Activity  onCreate 的時候來呼叫  addActivity (),有人可能想到這個Application需要在所有的 Activity  onCreate的時候都使用,需要做一個單例例項。其實根本不需要。在 Activity 中使用  this.getApplication() 就可以了。

最後在你需要推出程式的地方呼叫 application.onTerminate() 就可以了。記住:super.onTerminate() 必須呼叫,程式碼中的 onDestroy()是我自己的釋放其他資源的方法,不是系統的。

執行以上程式碼後,在LogCat 中會出現一行提示:
Process  包名 (pid  xxxxx)  has died.  證明你的程式退出了。

您可能感興趣的文章:

android實現通知欄下載更新app示例Android App實現應用內部自動更新的最基本方法示例Android-App增量更新的使用姿勢詳解Android冷啟動實現APP秒開的方法一看就懂的Android APP開發入門教程Android中利用App實現訊息推送機制的程式碼Android獲取手機型號/系統版本號/App版本號等資訊例項講解Android App除錯記憶體洩露之Cursor篇Android如何實現APP自動更新

相關文章

Android 開發 最新文章