• 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

  • 相关阅读:
    软件与系统安全复习
    【源码+项目部署】Java课程设计项目_Java人力资源管理系统
    手把手带你了解一块电路板,从设计到制作(干货)
    【23届秋招】0828-文远知行C++测试开发工程师笔试
    springboot基于微信小程序的选课系统毕业设计源码060000
    不愧是阿里,一本进阶用的内部Java性能调优笔记,竟又GitHub第一
    BUUCTF 被劫持的神秘礼物 1
    C#10新特性-全局和隐式usings
    SpringBoot的启动原理
    springboot web 项目Docker线上部署
  • 原文地址:https://blog.csdn.net/qq_39587209/article/details/126136541