国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Android > 正文

ANDROID 完美退出APP的實(shí)例代碼

2020-04-11 12:03:57
字體:
供稿:網(wǎng)友
大家都知道 Android 的 Activity 是存著歷史棧的,比如從 A -> B -> C,C 完成 finish 后回到 B,把所有的Activity 都 finish了,程序就自然退出了。 當(dāng)然在 finish 的同時也需要是否自己程序的其他資源。所以需要想個辦法把 Activity 給存起來。然后在程序退出的地方調(diào)用它們的 finish()方法。

使用全局變量。對了,第一個想到的就是繼承 Application,代碼入下:
復(fù)制代碼 代碼如下:

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 的時候來調(diào)用  addActivity (),有人可能想到這個Application需要在所有的 Activity  onCreate的時候都使用,需要做一個單例實(shí)例。其實(shí)根本不需要。在 Activity 中使用  this.getApplication() 就可以了。

最后在你需要推出程序的地方調(diào)用 application.onTerminate() 就可以了。記住:super.onTerminate() 必須調(diào)用,代碼中的 onDestroy()是我自己的釋放其他資源的方法,不是系統(tǒng)的。

運(yùn)行以上代碼后,在LogCat 中會出現(xiàn)一行提示:
Process  包名 (pid  xxxxx)  has died.  證明你的程序退出了。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆回县| 花莲市| 塔城市| 拜城县| 宁波市| 泾源县| 华亭县| 蓝田县| 尼玛县| 广东省| 深州市| 明溪县| 平遥县| 开化县| 许昌县| 亚东县| 南投县| 肥西县| 伊春市| 曲麻莱县| 景东| 阳朔县| 河池市| 泰来县| 维西| 讷河市| 溆浦县| 荥阳市| 鲁甸县| 平定县| 通化市| 雷州市| 天门市| 乌兰县| 白沙| 宝山区| 塔河县| 塔河县| 康平县| 塔河县| 太谷县|