android 退出應用最優雅的方式

RS優雅式

1、含義

     即Receiver+singleTask。我們知道Activity有四種加載模式,singleTask就是其中的一種,使用這個模式後,當startActivity時,它先會在當前棧中查詢是否存在Activity的實例,如果存在,則將其至於棧頂,並將其之上的所有Activity移除棧。
     我們打開一個app,首先是一個Splash界面,然後會finish掉Splash界面,跳轉到主頁。然後會在主頁進行N次的挑戰,期間會產生數量不定的Activity,有的被銷燬,有的駐留在棧中,但是棧底永遠是我們HomeMainActivity。這樣就讓問題變得簡單多了。我們只需兩部操作即可優雅的實現app的退出。

1)、在HomeMainActivity註冊一個退出廣播。
2)、設置HomeActivity的啓動模式爲SingleTask。

當我們需要退出的時候只需要startActivity(this,HomeMainActivity.class),再發送一個退出廣播。上面代碼首先會把棧中HomeMainActivity之上的所有Activity移除出棧,然後接到廣播finish自己。一切OK!不用考慮其他的問題,諸如機型Rom適配、內存問題等等。

就是那麼的優雅,簡單!

設置HomeMainActivity啓動模式爲SingleTask的另一個優點就是:
當你在進入app後一層一層跳轉了很多Activity,你想直接回到首頁並把前面的素有Activity都銷燬,那麼SingleTask啓動模式就方便了許多直接調用startActivity(this,HomeMainActivity.class)就可以方便快捷的做到
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章