第二個activity,啟動第二個activity
Android四大組件
- Activity
- BroadCastReceiver
- Service
- ContentProvider
建立第二個Activity建立第2個Activity的過程
- 1. 建立class類繼承Activity
- 2. 建立布局檔案,作為Activity的顯示內容
- 3. 在資訊清單檔中註冊Activity
資訊清單檔的配置
新建立的activity,必須在資訊清單檔中做配置,否則系統找不到,在顯示時會直接報錯
<activity android:name="com.itheima.createactivity.SecondActivity"></activity>
只要有以下代碼,那麼就是入口activity,就會產生快捷表徵圖
<intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter>
- 如果Activity所在的包跟應用程式套件名同名,那麼包名可以省略不寫 如android:name=“.SecondActivity”
Activity的跳轉隱式跳轉
應用情境
- 顯:啟動同一個應用中的Activity
- 隱式意圖:啟動不同應用中的Activity
- 再啟動效率上,隱式遠遠低於顯式
- 如果系統中有多個Activity與意圖設定的Action匹配,那麼在啟動Activity時,會彈出一個對話方塊,裡麵包含所有匹配的Activity
Activity任務棧
- 應用運行過程中,記憶體中可能會開啟多個Activity,那麼所有開啟的Activity都會被儲存在Activity任務棧
- 棧:後進先出,最先進棧,就會最後出棧
Activity的啟動模式
- 標準模式:預設就是先進後出
- singleTop:如果目標Activity不在棧頂,那麼就會啟動一個新的Activity,如果已經在棧頂了,那麼就不會再啟動了
- singleTask:如果棧中沒有該Activity,那麼啟動時就會建立一個該Activity,如果棧中已經有該Activity的執行個體存在了,那麼在啟動時,就會殺死在棧中處於該Activity上方的所有Activity全部殺死,那麼此時該Activity就成為了棧頂Activity。
- singleTask的作用:保證整個棧中只有一個該Activity的執行個體
- singleInstance:設為此模式的Activity會有一個自己獨立的任務棧,該Activity的執行個體只會建立一個,儲存在獨立的任務棧中
- singleInstance的作用:保證整個系統的記憶體中只有一個該Activity的執行個體