當應用運行起來後就會開啓一條線程,線程中會運行一個任務棧,當Activity實例建立後就會放入任務棧中。Activity啓動模式的設置在AndroidManifest.xml文件中,經過配置Activity的屬性android:launchMode=""設置。android
1. Standard模式(默認)性能
咱們平時直接建立的Activity都是這種模式的Activity,這種模式的Activity的特色是:只要你建立了Activity實例,一旦激活該Activity,則會向任務棧中加入新建立的實例,退出Activity則會在任務棧中銷燬該實例。spa
2. SingleTop模式線程
這種模式會考慮當前要激活的Activity實例在任務棧中是否正處於棧頂,若是處於棧頂則無需從新建立新的實例,會重用已存在的實例,不然會在任務棧中建立新的實例。xml
3. SingleTask模式it
若是任務棧中存在該模式的Activity實例,則把棧中該實例以上的Activity實例所有移除,調用該實例的newInstance()方法重用該Activity,使該實例處於棧頂位置,不然就從新建立一個新的Activity實例。class
4. SingleInstance模式配置
當該模式Activity實例在任務棧中建立後,只要該實例還在任務棧中,即只要激活的是該類型的Activity,都會經過調用實例的newInstance()方法重用該Activity,此時使用的都是同一個Activity實例,它都會處於任務棧的棧頂。此模式通常用於加載較慢的,比較耗性能且不須要每次都從新建立的Activity。方法