標籤:上下文 length find chmod 執行 tac list short int
1. standard
標準模式,是活動預設的啟動模式,在不進行顯示指定的情況下,所有活動都會自動使用這種模式。
Android使用返回棧管理活動,在standard模式下,每當啟動一個新的活動,它就會在返回棧中入棧,並處在棧頂位置。
例如:
1 public class FirstActivity extends AppCompatActivity { 2 @Override 3 protected void onCreate(Bundle savedInstanceState) { 4 super.onCreate(savedInstanceState); 5 //提示資訊 6 Toast.makeText(this, "FirstActivity" + this, Toast.LENGTH_SHORT).show(); 7 setContentView(R.layout.activity_first); 8 Button btn = findViewById(R.id.btn1); 9 btn.setOnClickListener(new View.OnClickListener() {10 @Override11 public void onClick(View v) {12 Intent intent = new Intent(FirstActivity.this, FirstActivity.class);13 startActivity(intent);14 }15 });16 }17 }
FirstActivity.java
從輸出資訊可以看出,當點擊new activity時,會建立一個活動,執行了onCreate方法。
2. singleTop
如果要啟動一個活動,當棧頂已經存在了該活動,那麼不會再次建立這個活動;反正,如果這個活動不在棧頂,仍然會建立這個活動。
可能有些時候,絕對standard模式不太合理,活動已經在棧頂了,為什麼還要啟動新的活動?
設定為singleTop模式:
1 <activity android:name=".FirstActivity"2 android:launchMode="singleTop">3 <intent-filter>4 <action android:name="android.intent.action.MAIN" />5 <category android:name="android.intent.category.LAUNCHER" />6 </intent-filter>7 </activity>
3.singleTask
目的是讓某個活動在整個應用程式的上下文中只存在一個執行個體。每次啟動活動時,系統會首先檢查返回棧中是否存在這個活動,只有不存在才會建立,如果找到,直接使用返回棧的活動。
4.singleInstance
啟動一個新的返回棧來管理這個活動。
實現多個程式共用活動,多個應用程式共用這個返回棧。
Android活動的啟動模式