


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第Kotlin+Flow實(shí)現(xiàn)Android應(yīng)用初始化任務(wù)啟動庫項(xiàng)目地址:/czy1121/ini…
repositories{
maven{url"/ezy/repo/raw/android_public/"}
dependencies{
implementation"me.reezy.init:init:0.9.0"
kapt"me.reezy.init:init-compiler:0.9.0"
//使用init-startup代替init可以利用JetpackStartup庫自動初始化
//無需在Application.onCreate調(diào)用InitManager.init()
implementation"me.reezy.init:init-startup:0.9.0"
使用
在AndroidManifest.xml的application里添加模塊
meta-dataandroid:name="modules"android:value="app"/
通過注解@Init和InitTask接口定義一個任務(wù)
@Init
classOneInit:InitTask{
overridefunexecute(app:Application){
Log.e(TAG,"thisis${javaClass.simpleName}in${Thread.currentThread().name}")
通過注解@Init的參數(shù)配置任務(wù)信息
@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.SOURCE)
annotationclassInit(
valprocess:String="all",//指定工作進(jìn)程名稱,main表示僅在主進(jìn)程運(yùn)行,all表示在所有進(jìn)程運(yùn)行
valbackground:Boolean=false,//是否在工作線程執(zhí)行任務(wù)
valdebugOnly:Boolean=false,//是否僅在DEBUG模式執(zhí)行任務(wù)
valcompliance:Boolean=false,//是否需要合規(guī)執(zhí)行
valdepends:ArrayString=[],//依賴的任務(wù)列表
valpriority:Short=0//
APT會按模塊收集任務(wù)信息并生成任務(wù)加載器(InitLoader_$moduleName),任務(wù)加載器用于添加任務(wù)到TaskList
classTask(
valname:String,//APT收集的任務(wù)名稱格式為"$moduleName:${clazz.simpleName}"
valbackground:Boolean=false,//是否在工作線程執(zhí)行任務(wù)
valpriority:Int=0,//進(jìn)程運(yùn)行的優(yōu)先級,值小的先執(zhí)行
valdepends:SetString=setOf(),//依賴的任務(wù)列表,同模塊只需指定"${clazz.simpleName}",跨模塊需要指定"$moduleName:${clazz.simpleName}"
valblock:()-Unit={},//待執(zhí)行的任務(wù)
valchildren:MutableSetTask=mutableSetOf()//子任務(wù)列表
核心類
TaskList負(fù)責(zé)持有和添加任務(wù)
TaskManager負(fù)責(zé)調(diào)度任務(wù),支持添加開關(guān)任務(wù)(沒有業(yè)務(wù)僅作為開關(guān),可手動觸發(fā)完成,并償試執(zhí)行其子任務(wù))
無依賴的異步任務(wù),在子線程并行執(zhí)行
無依賴的同步任務(wù),在主線程順序執(zhí)行
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 超市死者賠償協(xié)議書
- 營銷末位淘汰協(xié)議書
- 音樂教師合同協(xié)議書
- 非法轉(zhuǎn)移土地協(xié)議書
- 農(nóng)家樂股份合同協(xié)議書
- 酒廠污泥處理協(xié)議書
- 銀行股份認(rèn)購協(xié)議書
- 供應(yīng)鏈管理合作協(xié)議書
- 公司注銷股東間協(xié)議書
- PSW品質(zhì)提交協(xié)議書
- 老年醫(yī)學(xué)科臨床營養(yǎng)管理流程
- 初三上學(xué)期自我陳述報告范文800字
- 2023年中考物理專題復(fù)習(xí):《電磁學(xué)》實(shí)驗(yàn)題
- 腹部CT斷層解剖結(jié)構(gòu)肝胰腺
- 建平磷鐵礦業(yè)有限公司磷(含磁鐵磷灰石)礦礦山地質(zhì)環(huán)境保護(hù)與土地復(fù)墾方案
- DB22∕T 3181-2020 公路水路行業(yè)安全生產(chǎn)風(fēng)險分級管控和隱患排查治理雙重預(yù)防機(jī)制建設(shè)通用規(guī)范
- GB/T 36713-2018能源管理體系能源基準(zhǔn)和能源績效參數(shù)
- GB/T 25068.1-2020信息技術(shù)安全技術(shù)網(wǎng)絡(luò)安全第1部分:綜述和概念
- “二級甲等婦幼保健院”評審匯報材料
- 《狼王夢》讀書分享PPT
- 三年級美術(shù)下冊第10課《快樂的節(jié)日》優(yōu)秀課件1人教版
評論
0/150
提交評論