• 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

  • 相关阅读:
    【jmeter录制浏览器上特定的单个请求】
    leetcode896:单调数列
    MySQL使用Xtrabackup备份到AWS存储桶
    企业财务数字化转型怎么才能落地?_光点科技
    编译器一日一练(DIY系列之总结)
    华为S5700交换机初始化和配置telnet,ssh用户方法
    从零开始自己动手写自旋锁
    java计算机毕业设计web企业人事管理信息系统MyBatis+系统+LW文档+源码+调试部署
    Unity 3D脚本语言的类型
    vue学习-16vue的history模式与hash模式
  • 原文地址:https://blog.csdn.net/qq_39587209/article/details/126136541