上一页 1 2 3 4 5 6 7 ··· 11 下一页
摘要: 一、背景描述 在项目体量越来越大的情况下,编译速度也随着增长,有时候一个修改需要等待长达好几分钟的编译时间。 基于这种普遍的情况,推出了 RocketX ,通过在编译流程 动态 替换 module 为 aar ,提高全量编译的速度。 二、效果展示 2.1、测试项目介绍 目标项目一共 3W+ 个类与资 阅读全文
posted @ 2021-12-13 16:08 Button123 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 前言 做过布局性能优化的同学都知道,为了优化界面加载速度,要尽可能的减少布局的层级。这主要是因为布局层级的增加,可能会导致测量时间呈指数级增长。 而Compose却没有这个问题,它从根本上解决了布局层级对布局性能的影响: Compose界面只允许一次测量。这意味着随着布局层级的加深,测量时间也只是线 阅读全文
posted @ 2021-12-13 15:53 Button123 阅读(215) 评论(0) 推荐(0) 编辑
摘要: Android的布局管理器本身就是个UI组件,所有的布局管理器都是ViewGroup的子类,而ViewGroup是View的子类,所以布局管理器可以当成普通的UI组件使用,也可以作为容器类使用,可以调用多个重载addView()向布局管理器中添加组件,并且布局管理器可以互相嵌套,当然不推荐过多的嵌套 阅读全文
posted @ 2021-12-12 16:44 Button123 阅读(46) 评论(0) 推荐(0) 编辑
摘要: Android开发架构 如果开发过程中大家各自为战,没有统一规范,久而久之,项目代码会变得混乱且后续难以维护。当使用统一的架构模式后,有很多的好处,如: 统一开发规范,使得代码整洁、规范,后续易于维护及扩展 提高开发效率(尤其在团队人员较多时) 模块单一职责,使得模块专注自己内部(面向对象),模块间 阅读全文
posted @ 2021-12-10 17:40 Button123 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 前言 作为一个应用工程师,除了写一些业务代码,性能优化也是我们需要关注的点! 如果想要去做启动优化,那么去了解启动过程就是一个绕不过去的坎儿。 那么除了关于启动过程的那些代码,我们还应该去知道什么呢? 一、多进程那些事儿 在大家很早学习 Android 的时候,想必就知道,每一个 Android A 阅读全文
posted @ 2021-12-09 17:28 Button123 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 现象 大家好,今天为大家带来的是 RxJava 的一个血案,一行代码 return null 引发的。 前阵子,组内的同事反馈说 RxJava 在 debug 包 crash 了,捕获到的异常信息不全。(即我们捕获到的堆栈没有包含我们自己代码,都是一些系统或者 RxJava 框架的代码) 典型的一些 阅读全文
posted @ 2021-12-08 16:47 Button123 阅读(121) 评论(0) 推荐(0) 编辑
摘要: 最近正在阅读Glide源码,今天我们要研究的部分是Glide RequestManager 生命周期管理。 本来这个也是这篇文章应该是Glide生命周期管理。但是在源码阅读中我发现原来我以前的项目对于Glide的使用存在着一些内存泄漏的可能,因此临时决定更改了文章的名字,希望能够引起大家的重视。 这 阅读全文
posted @ 2021-12-07 16:56 Button123 阅读(612) 评论(0) 推荐(0) 编辑
摘要: 1. Navigation到底该如何正确的使用 相信大家对 Navigation都有所耳闻,我不细说怎么用了,官方的讲解也很详细。我是想说一下到底该如何更好的使用这个组件。 这个组件其实是需要配合官方的MVVM架构使用的,ViewModel+LiveData结合才能更好的展现出Navigation的 阅读全文
posted @ 2021-12-03 16:19 Button123 阅读(324) 评论(0) 推荐(0) 编辑
摘要: 前言 LayoutManager是RecyclerView中的重要一环,使用LayoutManager就跟玩捏脸蛋的游戏一样,即使好看的五官(好看的子View)都具备了,也不一定能捏出漂亮的脸蛋,好在RecyclerView为我们提供了默认的模板:LinearLayoutManager、GridLa 阅读全文
posted @ 2021-10-26 22:28 Button123 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 一、前言 最近参加了几轮面试,发现很多5-7年工作经验的候选人在性能优化这一块,基本上只能说出传统的分析方式,例如ANR分析,是通过查看/data/anr/ 下的log,分析主线程堆栈、cpu、锁信息等, 然而,这种方法有一定的局限性,并不是每次都奏效,很多时候是没有堆栈信息给你分析的,例如有些高版 阅读全文
posted @ 2021-06-15 15:10 Button123 阅读(977) 评论(0) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 ··· 11 下一页