Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 初級開發 >> Android的Activity你知多少呢?

Android的Activity你知多少呢?

編輯:初級開發

看到這個標題很多網友肯定回答,我知道Activity是Android上的窗口基類,了解Activity的生命周期比如onCreate onStop等,呵呵,按照這樣說Android123還知道Activity的實現其實是從ApplicationContext,而ApplicationContext是從Context這個抽象類派生而來的,當然我們看到顯示的是View或者VIEwGroup,當然今天說的不是這些東西,而是很多網友來問的Android為什麼不設計一個任務管理器,當然從Android 1.5開始ActivityManager類提供了restartPackage可以關閉一個程序,需要加上<uses-permission android:name="android.permission.RESTART_PACKAGES"/>這個權限,不過我們注意到,長按Home鍵可以看到以前程序的運行,同時可以快速的切換回來。這就是android獨有的程序生命周期管理機制 Activity歷史棧。

  我們在一個普通的程序主窗口A中打開了一個窗口B,而窗口B打開了窗口C,但是按下Back鍵後結果出乎了預期,是的這就是Activity的history stack的原因,在數據結構中棧是FIFO的,阻止我們不願意看的情況的發生則可以在打開新Activity時加上標記FLAG_ACTIVITY_NO_HISTORY,代碼如下:

    Intent i= new Intent(this, cwj.class);  
    i.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);   //android開發網提示大家相關的還有Intent.FLAG_ACTIVITY_CLEAR_TOP,都試試
    startActivity(i); 

  當然更多的程序Activity控制可以再androidmanifest.XML中定義。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved