技术来源: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

AndroidX App Startup 介绍及使用相关推荐

  1. Android Jetpack组件App Startup简析

    1.前言 最近简单看了下google推出的框架Jetpack,感觉此框架的内容可以对平时的开发有很大的帮助,也可以解决很多开发中的问题,对代码的逻辑和UI界面实现深层解耦,打造数据驱动型UI界面. A ...

  2. 深入探索Android 启动优化(七) - JetPack App Startup 使用及源码浅析

    本文首发我的微信公众号:徐公,想成为一名优秀的 Android 开发者,需要一份完备的 知识体系,在这里,让我们一起成长,变得更好~. 前言 前一阵子,写了几篇 Android 启动优化的文章,主要是 ...

  3. 学习Android启动初始化 App StartUp

    StartUp是为了App的启动提供的一套简单.高效的初始化方案. ContentProvider中初始化 在项目中会需要用到很多的第三方库,而很多第三方库都提供了显示的调用初始化接口,需要在Appl ...

  4. Optimizing App Startup Time

    Optimizing App Startup Time 内容来自官方视频Optimizing App Startup Time Mach-O Mach-O是运行时可执行文件的文件类型.一些术语表 Ex ...

  5. App Startup原理解析

    前言 在上篇文章中「初始化Library新姿势--App Startup」我们学会了 App Startup 的使用,下面我们接着学习 App Startup 的原理. 切入点 在学习原理之前,我们需 ...

  6. phonegap 性能优化 以及 phonegap + Angularjs + ionic 移动 app 开发介绍

     第一讲  phonegap 性能优化 以及 phonegap+ Angularjs + ionic 移动 app 开发介绍   学习要点: Phonegap第一季第二季视频教程内容简介 phon ...

  7. [原创]互联网金融App测试介绍

    [原创]互联网金融App测试介绍 前端时间非常忙,终于非常忙的时间过去了,抽时间总结下我现在所在公司理财软件App测试,也各位分享下,也欢迎大家提建议,谢谢! 先介绍下我所在公司的产品特点,公司所研发 ...

  8. 云测试企业都在寻找突破口?蒲公英内测尝试为APP制作介绍视频

    西安点测网络科技公司成立于2014年,其旗下的蒲公英平台是一款为移动手机软件开发者提供App内测服务平台,内含蒲公英内测分发.专家测试和Bug管理云这三款产品. 2017年3月上旬,蒲公英内测推出了一 ...

  9. 在线教育培训APP开发,在线教育培训APP开发介绍

    在线教育培训APP开发,在线教育培训APP开发介绍 介绍 在线教育一直全是呈持续上升发展趋向,尤其是2020年的肺炎疫情缘故,促使在线教育的销售市场更为宽阔,在线教育app不但能为用户提供线上一对一辅 ...

  10. 悬赏任务app 开发介绍 悬赏发布 试*玩 阅读 视频 赚*钱 兼*职 等界面的设计

    悬赏任务app 开发介绍 悬赏发布 试玩 阅读 视频 赚钱 兼职 等界面设计 功能包括 1.首页 2.任务大厅 3.邀请 4.线报 5.我的 可参考的设计界面如下:

最新文章

  1. Kanzi常用操作2
  2. Codeforces Round #555 (Div. 3) c2 d e f
  3. 同步和异步GET,POST请求
  4. mongodb java id 查询数据_java 用 _id 查找 MongoDB 下的数据
  5. 将Windows文件挂在到Linux上
  6. 自建家庭私有云NAS——磁盘管理系统
  7. iOS调试篇:多线程造成的崩溃
  8. 论文的格式: 以Wiley为案例
  9. android利用多线程加载图片【不使用第三方库】
  10. thinkphp + 腾讯云名片识别
  11. 创业要素:如何推广自己的产品
  12. tkmybatis 子查询_【10/21】南池袋送餐桌和椅子 收纳盒子 洗衣机 | 下落合站送洗衣机...
  13. window磁盘id与序列号
  14. Android支付接入:Google In-app-Billing
  15. 再谈GC2:Java垃圾收集器与GC日志分析实践
  16. Fisher判别分析
  17. 《自己动手设计物联网》Kindle 版已上架
  18. 18、VXLAN技术介绍与应用场景,附VXLAN手册下载
  19. 接地电阻的测量方法和规范要求
  20. 英语对我们意味着什么?

热门文章

  1. 【数据结构】栈的应用--括号匹配的检验
  2. Win8企业版如何升级至win10专业版
  3. Myeclipse中编辑Jsp时解决光标乱跑的方法
  4. GICv3软件overview手册之配置GIC
  5. 集线器,路由器,交换机的作用和差别是什么?怎样区分交换机,集线器,路由器?
  6. 平面几何常用定理、结论总结 第一篇 三角形及其引线、引圆
  7. SAS-配对设计资料秩和检验
  8. go语言编程前景怎么样?国内Go语言布道师许式伟这样说
  9. Photoshop之渐变工具使用
  10. 淘宝天猫自动抢购插件下载-开发学习