Android中的Activity的小技巧

來源:互聯網
上載者:User

標籤: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的小技巧

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.