日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Kotlin + Flow 實現Android 應用初始化任務啟動庫

瀏覽:27日期:2022-09-20 10:19:09
特性

Kotlin + Flow 實現的 Android 應用初始化任務啟動庫。

支持模塊化,按模塊加載任務 可指定工作進程名稱,main 表示僅在主進程運行,all 表示在所有進程運行,默認值all 可指定任務僅在工作線程執行 可指定任務僅在調試模式執行 可指定任務在滿足合規條件后執行 可指定任務優先級,決定同模塊內無依賴同步任務的執行順序 可指定依賴任務列表,能檢測循環依賴 使用 Flow 調度任務 僅200多行代碼,簡單明了 有耗時統計 引入依賴

項目地址:github.com/czy1121/ini…

repositories { maven { url 'https://gitee.com/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 可以利用 Jetpack Startup 庫自動初始化 // 無需在 Application.onCreate 調用 InitManager.init() implementation 'me.reezy.init:init-startup:0.9.0' }使用

在 AndroidManifest.xml 的 <application> 里添加模塊

<meta-data android:name='modules' android:value='app' />

通過注解 @Init 和 InitTask 接口定義一個任務

@Initclass OneInit : InitTask { override fun execute(app: Application) { Log.e(TAG, 'this is ${javaClass.simpleName} in ${Thread.currentThread().name}') }}

通過注解 @Init 的參數配置任務信息

@Target(AnnotationTarget.CLASS)@Retention(AnnotationRetention.SOURCE)annotation class Init( val process: String = 'all', // 指定工作進程名稱,main 表示僅在主進程運行,all 表示在所有進程運行 val background: Boolean = false, // 是否在工作線程執行任務 val debugOnly: Boolean = false, // 是否僅在 DEBUG 模式執行任務 val compliance: Boolean = false, // 是否需要合規執行 val depends: Array<String> = [], // 依賴的任務列表 val priority: Short = 0 // )

APT會按模塊收集任務信息并生成任務加載器(InitLoader_$moduleName),任務加載器用于添加任務到TaskList

class Task( val name: String, // APT收集的任務名稱格式為 '$moduleName:${clazz.simpleName}' val background: Boolean = false, // 是否在工作線程執行任務 val priority: Int = 0, // 進程運行的優先級,值小的先執行 val depends: Set<String> = setOf(), // 依賴的任務列表,同模塊只需指定'${clazz.simpleName}',跨模塊需要指定 '$moduleName:${clazz.simpleName}' val block: () -> Unit = {}, // 待執行的任務) { val children: MutableSet<Task> = mutableSetOf() // 子任務列表}

核心類

TaskList 負責持有和添加任務 TaskManager 負責調度任務,支持添加開關任務(沒有業務僅作為開關,可手動觸發完成,并償試執行其子任務)

無依賴的異步任務,在子線程并行執行無依賴的同步任務,在主線程順序執行有依賴的任務,確保無循環依賴,且被依賴的任務先執行

InitManager 負責找到各模塊的任務加載器并開始啟動初始化,它使用了一個合規開關來使相關任務在確定合規后執行

可以不使用 InitManager 收集任務

val taskList = TaskList(app).apply { add('task1') { } add('task2', depends = setOf('t1')) { } add('task3', depends = setOf('task1')) { } }val manager = TaskManager(taskList, setOf('t1'))manager.start()// ...// 完成開關任務t1manager.trigger('t1')

以上就是Kotlin + Flow 實現Android 應用初始化任務啟動庫的詳細內容,更多關于實現Android 應用初始化任務啟動庫的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美日韩视频免费看| 国产欧美亚洲精品a| 日韩欧美在线中字| 欧美亚洲二区| 亚洲区国产区| 蜜臀av在线播放一区二区三区| bbw在线视频| 91麻豆精品| 日韩美女精品| 2023国产精品久久久精品双| 国产精品99视频| 麻豆成人91精品二区三区| 日本欧美在线看| 婷婷中文字幕一区| 亚洲欧洲一区| 午夜天堂精品久久久久| 久久精品国产在热久久| 色婷婷亚洲mv天堂mv在影片| 日韩精品一区二区三区免费观看| 午夜欧美在线| 91亚洲精品视频在线观看| 视频一区日韩精品| 久久一区亚洲| 五月天久久777| 一区二区国产在线观看| 国产精品xxx在线观看| 日韩啪啪电影网| 蘑菇福利视频一区播放| 日本午夜精品久久久久| 久久免费精品| 国产一区清纯| 日本不卡一区二区三区| 蜜臀av一区二区三区| 激情综合五月| 亚洲v天堂v手机在线| 99精品视频精品精品视频| 日韩精品高清不卡| 91欧美精品| 亚洲人成精品久久久| 91成人超碰| 国产精品xx| 久久久一本精品| 国内精品美女在线观看| 福利一区二区免费视频| 日韩.com| 国产极品模特精品一二| 国产精品丝袜在线播放| 亚洲成人va| 91成人精品| 精品久久视频| 欧美久久一区二区三区| 欧美日韩一区二区综合| 日韩高清一区| 99热精品久久| 欧美91在线| 欧美日韩国产高清| 在线亚洲人成| 四虎精品一区二区免费| av资源中文在线| 国产精品免费大片| 国产成人久久精品麻豆二区 | 国产亚洲精品精品国产亚洲综合 | 日韩精品一卡| 日本亚洲三级在线| 国产传媒在线| 日韩黄色在线观看| 久久久天天操| 国产伦理久久久久久妇女| 99精品在线| 国产日韩欧美在线播放不卡| 国产一区二区三区久久| 美女日韩在线中文字幕| 国产一区二区精品久| 蜜桃久久久久久| 天堂√8在线中文| 亚洲va久久久噜噜噜久久| 在线一区视频观看| 国产欧美一级| 亚洲香蕉视频| 蜜桃成人av| 韩日一区二区| 久久国产尿小便嘘嘘| 亚洲一区二区网站| 一区二区三区四区日本视频| 天堂va在线高清一区| 欧美激情国产在线| 欧美一级全黄| 亚洲免费网址| 伊人久久大香线蕉av不卡| 久久精品国产成人一区二区三区| 亚洲影视一区| 免费视频亚洲| 日韩精品第一区| 久久一区亚洲| 国产一区 二区| 中文字幕免费精品| 91久久午夜| 久久黄色影院| 成人国产精品| 九九久久国产| 中文字幕一区二区精品区| 午夜欧美精品| 好看的av在线不卡观看| 蜜臀av免费一区二区三区| 国产日韩电影| 欧美韩日一区| 精品国产免费人成网站| 欧美激情久久久久久久久久久| 日本伊人久久| 亚洲精品美女91| 六月天综合网| 国产亚洲福利| av不卡在线| 亚洲精品va| 蜜臀91精品国产高清在线观看| 美腿丝袜亚洲一区| 欧美久久一区二区三区| 日本不卡高清| 日本aⅴ亚洲精品中文乱码| 美美哒免费高清在线观看视频一区二区| 中日韩男男gay无套| 99久久亚洲精品蜜臀| 精品亚洲美女网站| 久久蜜桃精品| 神马日本精品| 999国产精品视频| 欧美亚洲在线日韩| 天堂资源在线亚洲| 免费观看不卡av| 黄色成人精品网站| 999久久久精品国产| 99久久精品费精品国产| 欧美精品羞羞答答| 国产视频一区在线观看一区免费| 亚洲欧美日韩国产综合精品二区| 久热综合在线亚洲精品| 一区二区三区午夜视频| 日韩精品亚洲专区| 国产精品片aa在线观看| 另类综合日韩欧美亚洲| 精品深夜福利视频| 日产午夜精品一线二线三线| 日韩毛片视频| 国产精品美女久久久浪潮软件| 亚洲激情偷拍| 一区二区精彩视频| 欧美伊人影院| 电影91久久久| 99精品小视频| 蜜臀精品久久久久久蜜臀| 日韩av中文字幕一区二区| 国产精品一区二区三区美女| 成人午夜网址| 一区在线观看| 欧美日韩一区二区三区四区在线观看 | 日韩精品中文字幕第1页| 久久久久一区| 久久亚洲美女| 国产日本久久| 国产传媒在线观看| 蜜桃成人av| 日本国产亚洲| 韩国久久久久久| 亚洲一卡久久| 欧美激情aⅴ一区二区三区 | 国产精品老牛| 国产日韩在线观看视频| 麻豆一区二区在线| 欧美一区三区| 久久精品av| 婷婷久久免费视频| 精品久久久网| 黄色免费成人| 国产伦精品一区二区三区在线播放| 国产精品久久久久久久免费观看| 欧美日韩视频| 国产亚洲欧美日韩在线观看一区二区 | 精品免费av一区二区三区| 日韩国产综合| 黄色免费成人| 国产精品成人一区二区网站软件| 日韩理论片av| 婷婷精品在线观看| 国产中文在线播放| 蜜桃av一区二区| 里番精品3d一二三区| 国产视频欧美| 精品视频网站| 久久国产精品久久w女人spa| 国产精品亲子伦av一区二区三区| 久久青草久久| 国产精品一区二区精品| 亚洲大片在线| 国产精品久久久久9999高清| 日韩深夜视频| 日韩精选在线| 在线视频观看日韩| 美腿丝袜亚洲三区| 亚洲一区二区三区在线免费| 成人台湾亚洲精品一区二区|