国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 长海县| 砀山县| 上栗县| 伊吾县| 堆龙德庆县| 平乡县| 方正县| 蒙城县| 渭南市| 佛山市| 襄樊市| 南丹县| 新蔡县| 秦皇岛市| 饶河县| 乐东| 九江市| 高碑店市| 抚州市| 赤壁市| 和静县| 舞阳县| 那坡县| 岱山县| 赤壁市| 望江县| 明星| 特克斯县| 山丹县| 天气| 江北区| 鸡泽县| 大石桥市| 万山特区| 尉氏县| 衡南县| 安陆市| 淮安市| 丰县| 临沭县| 莱西市|