android中活動的啟動模式

來源:互聯網
上載者:User

標籤:

活動的啟動模式

1.standard

2.singleTop

3.singleTask

4.singleInstance

 

standard為預設的活動啟動模式(無論活動是否在棧頂,都會建立一個新的活動)

 

 

 

sing了Top(如何棧頂有了新的活動就不會建立新的活動,會直接使用已經存在的活動)

 

singleTask(可以解決重複建立棧頂活動的問題,建立新的活動之前會檢查是否活動已經存在,若存在就把該活動之前的活動全部清出棧,將該活動顯示在棧頂,否則就建立一個新的活動)

 

singleInstance(該活動主要用於實現單個活動被多個程式同時調用的情況,即實現共用活動的問題)

 

 

 

活動進階的技巧使用

 確定某個具體的活動,建立一個BaseActivity去繼承Activity,,然後每個新的活動都去繼承BaseActivity這個類

public class BaseActivity extends Activity {

        

    @Override

    protected void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         Log.d("BaseActivity", getClass().getSimpleName());   //列印出具體的某個活動名稱

    }

   

}

 

 

隨時隨地地退出程式

建立一個類作為Active Manager

public class ActivityCollector {

   

    public static List<Activity> activities = new ArrayList<Activity>();

 

    public static void addActivity(Activity activity) {

         activities.add(activity);

    }

 

    public static void removeActivity(Activity activity) {

         activities.remove(activity);

    }

 

  //一個遍曆迴圈把所用的活動全部清除掉

    public static void finishAll() {

         for (Activity activity : activities) {

             if (!activity.isFinishing()) {

                 activity.finish();

             }

         }

    }

 

}

 

 

修改BaseActivity該類

public class BaseActivity extends Activity {

 

    @Override

    protected void onCreate(Bundle savedInstanceState) {

         super.onCreate(savedInstanceState);

         Log.d("BaseActivity", getClass().getSimpleName());

         ActivityCollector.addActivity(this);  //每次活動都添加到管理器當中去

    }

   

    @Override

    protected void onDestroy() {

         super.onDestroy();

         ActivityCollector.removeActivity(this);

    }

   

}

 

最後在要調用的方面的使用ActivityCollector.finishAll()方法即可。。。

 

經驗總結:來自書籍《android第一行代碼》

 

android中活動的啟動模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.