
Android 启动优化
文章平均质量分 90
Android 启动优化
程序员徐师兄
程序员徐师兄、7年大厂程序员经历。全网粉丝30W+,Csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战,可以通过任意一篇文章底部联系我
展开
-
Android 启动优化(六)- 深入理解布局优化
渐进式加载,简单来说,就是一部分一部分加载,当前帧加载完成之后,再去加载下一帧。一种极致的做法是,加载 xml 文件,就想加载一个空白的 xml,布局全部使用 ViewStub 标签进行懒加载。这样设计的好处是可以减缓同一时刻,加载 View 带来的压力,通常的做法是我们先加载核心部分的 View,再逐步去加载其他 View。有人可能会这样问了,这样的设计很鸡肋,有什么用呢?确实,在高端机上面作用不明显,甚至可能看不出来,但是在中低端机上面,带来的效果还是很明显的。原创 2023-02-20 20:34:03 · 192 阅读 · 0 评论 -
Android 启动优化(五)- AnchorTask 1.0.0 版本正式发布了
上周六,吃错了东西,突然头晕,发烧,半夜突然呕吐,拉肚子,整个人被折腾得够呛的。到医院检查,说是 xx 肠炎,吃错东西导致的,整整躺在家休息四天。今天,终于缓过来了。更新一下 Android 启动优化有向无环图系列的最后一篇文章。最近一段时间,暂时不会更新这方面的文章了。Android 启动优化(一) - 有向无环图Android 启动优化(二) - 拓扑排序的原理以及解题思路Android 启动优化(三) - AnchorTask 使用说明。原创 2023-02-20 20:32:34 · 127 阅读 · 0 评论 -
Android 启动优化(四)- 手把手教你实现 AnchorTask
AnchorTask,锚点任务,它的实现原理是构建一个有向无环图,拓扑排序之后,如果任务 B 依赖任务 A,那么 A 一定排在任务 B 之前。了解原理之前,请必须先了解有向无环图和多线程的一些基本知识,不然,下文,你基本是看不懂的。AnchorTask 的原理不复杂,本质是有向无环图与多线程知识的结合。根据 BFS 构建出有向无环图,并得到它的拓扑排序在多线程执行过程中,我们是通过任务的子任务关系和 CounDownLatch 确保先后执行关系的前置任务没有执行完毕的话,等待,执行完毕的话,往下走。原创 2023-02-19 23:51:50 · 211 阅读 · 0 评论 -
Android 启动优化(三) - AnchorTask 使用说明
Android 启动优化,大家第一时间可能会想到异步加载。将耗时任务放到子线程加载,等到所有加载任务加载完成之后,再进入首页。多线程异步加载方案确实是 ok 的。但如果遇到前后依赖的关系呢。比如任务2 依赖于任务 1,这时候要怎么解决呢。这时候就可以使用 AnchorTask 解决,它的实现原理是构建一个有向无环图,拓扑排序之后,如果任务 B 依赖任务 A,那么 A 一定排在任务 B 之后。方法必须在主线程调用,子线程调用会抛出异常。原创 2023-02-19 23:50:17 · 171 阅读 · 0 评论