• AndroidX App Startup 介绍及使用


    技术来源:Google Jetpack

    官方文档:

    https://developer.android.google.cn/topic/libraries/app-startup

    什么是App StartUp

    App Startup 提供了一个 ContentProvider 来运行所有依赖项的初始化,避免每个第三方库单独使用 ContentProvider 进行初始化,从而提高了应用的程序的启动速度

    App Startup分为自动初始化(自动初始化清单文件中的InitializationProvider)和手动初始化,由开发人员在代码中调用初始化接口进行初始化逻辑调用,实现依赖库等资源的延迟初始化,从而达到App启动速度优化。

    所以,最好的使用方式是根据实际资源依赖关系把自动初始化和手动初始化结合使用

    如何使用App StartUp

    代码实现:

    在需要调用的Libary中 build.gradle 文件内添加依赖

    implementation "androidx.startup:startup-runtime:1.0.0-alpha01"

    自动初始化:(不需要手动再调用初始化方法,启动顺序为app启动---- InitializationProvider------MainActivity)

    1.在需要调用的Libary中新建一个实现androidx.startup.Initializer接口的类,如LibAuto.kt

    2.在调用的Libary清单文件中注册对应的InitializationProvider

    3.在需要的代码module里面如(::app)里面增加对当前Library 的依赖即可

    手动初始化:(需要调用

    AppInitializer.getInstance(applicationContext).initializeComponent(LibManual::class.java)进行初始化,好处在于可以延迟不必要组件的初始化逻辑执行,可以按开发人员的编程逻辑进行资源初始化调用,可以适时可控地进行资源调用)

    1. 在需要调用的Libary中新建一个实现androidx.startup.Initializer接口的类,如LibManual.kt

    2.在代码需要进行Library资源初始化的时候进行初始化,如MainActiv.Oncreate()

    同时使用LibAuto.kt和LibManual.kt进行初始化启动顺序:

    补充:

    Jetpack 最新成员 AndroidX App Startup 实践以及原理分析

    https://juejin.cn/post/6844904190440013837

  • 相关阅读:
    UltraEdit\UEStudio 的 SSHTelnet 功能教程
    hadoop can‘t installation $HADOOP_HOME or $HADOOP_PREFIX must be set
    高标准企业级安全性,华为云会议为线上沟通保驾护航
    RDD—Transformation算子
    折叠旗舰新战局:华为先行,OPPO接棒
    数据结构学习笔记(Ⅷ):排序
    了解Prop的使用
    模块打包器Webpack详解!
    swing- 使用颜色画笔装饰你的容器背景
    Go语言的GoFrame+Vue+ElementUI开源框架推荐
  • 原文地址:https://blog.csdn.net/qq_39587209/article/details/126136541