寫在前面
這是最近一些朋友問我的問題,我把它整理成了一個(gè)庫(kù),供大家享用,GitHub 地址:https://github.com/nanchen2251/AppManager
從四個(gè)應(yīng)用場(chǎng)景說起
退出應(yīng)用
相信各位朋友或多或少都會(huì)有遇到過需要在某個(gè)特定的地方退出應(yīng)用的需求,這個(gè)場(chǎng)景一定非常普遍。崩潰后重啟
程序總是無法做到盡善盡美,有時(shí)候你也不知道因?yàn)槭裁丛驅(qū)е铝?APP 的崩潰,這無疑是非常糟糕的用戶體驗(yàn)。這時(shí)候我們可以采用重啟機(jī)制來增強(qiáng)用戶舒適體驗(yàn)感。莫名其妙重啟
然而心細(xì)的小伙伴肯定會(huì)發(fā)現(xiàn),在部分手機(jī)上會(huì)出現(xiàn)莫名其妙的崩潰后重啟(后面會(huì)講原因),而且最要命的是,假設(shè)你有三個(gè) Activity,他們分別是 Act1, Act2, Act3,它們的啟動(dòng)順序是 Act1 -> Act2 -> Act3,而如果在 Act3 發(fā)生了崩潰,這時(shí)候極有可能應(yīng)用重啟后進(jìn)入的是 Act2,而 Act2 中需要某個(gè)來源于 Act1 (或者在 Act1 中通過接口獲取) 的參數(shù),當(dāng)沒有這個(gè)參數(shù)的時(shí)候會(huì)引發(fā)崩潰(或者數(shù)據(jù)不全)。這時(shí)候你可能最直觀的想法就是禁止應(yīng)用重啟,但或許這并不是最佳的方式。崩潰時(shí)彈出一個(gè)對(duì)話框
在部分手機(jī)上,當(dāng)崩潰的時(shí)候,會(huì)彈出一個(gè)提示對(duì)話框。在這種情況下,用戶只有點(diǎn)擊 “強(qiáng)行關(guān)閉” 來結(jié)束程序。當(dāng)該對(duì)話框出現(xiàn),對(duì)用戶來說是相當(dāng)不友好的?;蛟S我們可以通過某種方式攔截掉系統(tǒng)的處理,讓應(yīng)用出錯(cuò)時(shí)不再顯示它。
退出應(yīng)用的幾種方式
Andorid 退出應(yīng)用的方式很多,常見的也就下面四種。
System.exit(0) 使用系統(tǒng)的方法,強(qiáng)制退出
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26
學(xué)習(xí)是年輕人改變自己的最好方式