標籤:out oncreate state eth override 模式 undle src 基類
最近重新拾起郭大神的Android書籍溫故而知新。
1.擷取Activity所在的task棧,可以一目瞭然哪些Activity在一個task棧中:
在onCreate中添加: Log.d("Android","Task is is" +getTaskId());
2.觀察log中當前Activity的執行個體,從而更能對比出四種不同的啟動模式的差別:
Log.d("XXActivity",this.toString());
3.利用onSaveInstanceState()儲存資料:
1 @Override2 protected void onSaveInstanceState(Bundle outState) {3 super.onSaveInstanceState(outState);4 String tempData = "Something you just typed";5 outState.putString("key","tempData");6 7 }
4. 恢複資料:這裡儲存資料和取出資料都是使用的Bundle,此外Intent和Bundle可以一起用於傳遞資料。
View Code
5. 知曉當前在哪個Activity介面:
一般的項目裡都有類似BaseActivity的基類,我們只需在該類的onCreate方法中列印一個log就可以識別當前介面了:
View Code
6. 隨時隨地退出應用:
需要一個專門的集合類對所有的活動進行管理,下面的ActivityCollector類作為Active Manager:
View Code
在Active Manager中,通過List來暫存活動,然後提供了一個addActivity()方法用於向list中添加活動,同時提供了一個removeActivity()方法用於移除活動從該list中,最後提供一個finishAll()的方法將List中的活動全部銷毀。
調用:只需在onCreate中添加:ActivityCollector.addActivity(this);
在onDestory()中添加:ActivityCollector.removeActivity(this);
在需要銷毀全部活動的地方調用:ActivityCollector.finishAll();
1 android.os.Process.killProcess(android.os.Process.myPid()); killProcess()只能用於殺掉當前程式的進程,不能殺掉其他程式。
7.啟動活動的最佳寫法:
View Code
比較基礎,打好底才能建高樓。
Android中的Activity的小技巧