Android四大元件中每個元件的作用是什麼?它們都可以開啟多程式嗎?
Activity
Activity可以開啟多程式android:process
用於顯示頁面與使用者互動,四大元件中唯一一個使用者可感知的元件,
1,生命週期
開啟方式透過startActivity,正常的生命週期為 onCreate onStart onResume onPause onStop onDestroy
onCreate和onDestroy是根據頁面建立和銷燬劃分的
onStart和onStop是根據頁面可見性劃分的 onRestart從onStop返回onStart
onResume和onPause是根據是否與使用者互動劃分的
不正常銷燬時比如橫豎屏切換,會呼叫onSavedInstanceState用來儲存頁面資訊,在恢復的時候呼叫onRestoreInstanceState也可呼叫onCreate恢復資料,但onCreate中Bundle的資料有可能是null,需要額外判斷,推薦使用onRestoreInstanceState
也可以透過android:configChanges屬性來配置,防止頁面不正常銷燬
2,啟動模式
Instance 正常都是這種啟動模式,一個一個往棧裡放就可以了
singleTop 棧頂複用模式,如果Activity A在棧頂了你在去啟動A的話那麼A就不會重建,而是會呼叫newInstance方法
singleTask 棧複用模式,一個棧中只能有一個物件,比如棧中ABC,A是這個模式下的,那麼我在啟動A,這貨會把BC都出棧,自己到棧頂,然後呼叫newInstance方法
singleInstance 一個棧就一個物件,唯我獨尊
3,這裡也可以聯想到Activity頁面的繪製,和Activity的啟動流程
BroadcastReceiver
android:process 同時需要配置許可權,還有android:exported="true"
廣播,可進行通知
1,註冊方式
靜態註冊:在清單中註冊,應用開不開啟都可接收
動態註冊:在程式碼中註冊。主要執行註冊程式碼後才能接收,記得解註冊
2,廣播分類
有序廣播,按優先順序有序傳輸,可攔截
無序廣播,不可攔截,所有接受者都可以接到
3,誇程式
Service
服務,可用於在後端開啟耗時操作,另外他也用於程式間通訊
可以配置android:process
1,開啟方式有兩種
startService
onCreate onStartCommand 多次startService onCreate只能呼叫一次,onStartCommand呼叫多次
bindService 程式間通訊需要這種開啟方式,unBindService解綁
onCreate onBind 多次呼叫bindService只會呼叫一次
ContentProvider
可配置android:process
誇程式提供資料包括但不限於應用資料庫中資料
設定了ContentProvider複寫增 刪 改 查也可監聽資料變動,應用起不起動都可呼叫ContentProvider
並且他是四大元件中唯一一個在應用啟動前呼叫onCreate的元件
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/1727/viewspace-2809066/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 你都用過SpringCloud的哪些元件,它們的原理是什麼?SpringGCCloud元件
- react 元件加上 displayName 屬性的作用是什麼React元件
- 請教大家元件和模組有什麼區別,它們的概念分別是什麼?元件
- 一個故事教你看懂什麼是數字證書,它的原理是什麼?它的作用是什麼?
- (一) Android 四大元件Android元件
- Android之四大元件Android元件
- Android四大元件概述Android元件
- Android深入四大元件(二)Service的啟動過程Android元件
- Android 四大元件的解讀Android元件
- Android元件化開發實踐(一):為什麼要進行元件化開發?Android元件化
- Android 四大元件之 ServiceAndroid元件
- Android 四大元件之 ActivityAndroid元件
- Android四大元件之ActivityAndroid元件
- Android 四大元件之" Service "Android元件
- Android 四大元件之 " Activity "Android元件
- Android 元件化之通訊(多模組,多程式)Android元件化
- js程式碼中的"use strict"的作用是什麼JS
- 為什麼我們鍾愛動作類遊戲,它究竟有什麼樣的魅力遊戲
- Typescript 中的泛型是什麼 - 為什麼使用它們,它們如何與程式碼示例一起使用TypeScript泛型
- MySql中delimiter的作用是什麼?MySqlMIT
- 一個完美支援多程式的元件化方案元件化
- 什麼?上千個NPM元件被植入挖礦程式!NPM元件
- 為什麼用Vite框架?來看它的核心元件案例詳解Vite框架元件
- Android 四大元件之 BroadcastReceiverAndroid元件AST
- Android四大元件之Service篇Android元件
- Android四大元件之BroadcastReceiverAndroid元件AST
- Android四大元件之Activity篇Android元件
- Android 入門(一)四大元件Android元件
- 第2章Android四大元件Android元件
- Android 四大元件之“ BroadcastReceiver ”Android元件AST
- Android 四大元件之二-------ServiceAndroid元件
- Android 四大元件生命週期Android元件
- 詳解Android中的四大元件之一:Activity詳解Android元件
- 阿里Android開發規範:四大基本元件阿里Android元件
- 什麼是中斷?什麼是異常?它們有何區別?
- 利用ATL製作程式多媒體封面元件 (轉)元件
- 【微服務架構】K8S有哪兩個分類?它的元件是什麼?微服務架構K8S元件
- Android深入四大元件(五)Content Provider的啟動過程Android元件IDE