![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android 进阶
文章平均质量分 96
JsonChao
深入探索Android
展开
-
管理的艺术
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。一、管理核心要点剖析技术管理包含两层含义:1、管理自己和团队的技术:进行技术选型,在正确的场景中使用最适合的技术,保证程序简捷、强壮、可维护,最终完成产品的上线。2、管理技术团队:帮助团队成员成长,从亲力亲为模式转变为授权模式,帮助别人成功,自己才会获得更大的成功。1、从给答案到做引......原创 2020-07-27 23:22:41 · 310 阅读 · 0 评论 -
现在,就开始:学会学习,学会成长
对于程序员来说,最重要的能力莫过于学习能力,如何高效地记忆?如何有效地吸收一本书的精华?如何更加快速地成长?相信这篇文章会给你答案...原创 2021-12-21 08:41:49 · 575 阅读 · 0 评论 -
解决了这7个问题,我的产出效率提升了100%
精力管理,是个人在职场上实现跃迁的一个重要因素。虽然每个人的一天都是24小时,但是会精力管理的人,他们的产出可能是不会精力管理人的好几倍。他们能够更快实现职场晋升、能力发展,他们的人生更有密度和价值。在过去的1年里,我积累了很多精力管理的经验,下面一一分享给大家......原创 2021-12-22 08:08:14 · 492 阅读 · 0 评论 -
这一年炼就的底层内功修养
任何一件你想要做的事情,只有你开始做了,才能在做的过程中不断强化你想做的决心。原创 2022-07-09 15:35:57 · 268 阅读 · 0 评论 -
Android中的并发集合类,你了解多少?
并发集合类相关问题的出现频次在大厂的面试中是比较高的,例如安全队列的实现,还有...原创 2022-01-13 08:17:42 · 487 阅读 · 0 评论 -
一文彻底搞懂Android View的绘制流程
我们都知道,PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个。同时,PhoneWindow也是Activity和View系统交互的接口。DecorView本质上是一个FrameLayout,是Activity中所有View的祖先...原创 2021-12-24 08:36:21 · 4136 阅读 · 0 评论 -
JsonChao 的 2020 年终总结
前言这一年,是动荡的一年,但也是逆风翻盘的一年。一颗种子要想成长为苍天大树,必须具备坚韧不拔的意志,这一点比学习本身更加重要。下面,我们就来回顾一下我的2020年主要做了哪些事情。一、回顾我的2020年第一季度(1-3月):1、深入学习Android性能优化 & 开源 Awesome-Android-Performance众所周知,性能优化是Android细分领域中最难且也是知识面涉及最深和最广的方向之一,但是如果你想要成为一名顶尖的Android工程师,性能优化细分领域则是非常好的实战与原创 2020-12-28 15:24:30 · 1610 阅读 · 0 评论 -
深入探索 Gradle 自动化构建技术(九、Gradle 插件平台化框架 ByteX 探秘之旅)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。一、前置知识1、函数式编程1)、什么是函数式编程?面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。现实世界中,数据和行为并存,而程序也是如此。2)为什么要学习函数式编程?用函数(行为)对数据处理,是学习大数据的基石。好的效率(并发执行),完成一个功能使用更少的代码。对象转向面向函数编程的思想有一定难度,需要大量的练习2、Java 1.8 Lambda 表达式1)、什原创 2020-06-30 08:33:51 · 1373 阅读 · 0 评论 -
深入探索 Android 电量优化
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。本文思维导图一、正确认识1、为什么要做电量优化?在 Android 应用开发中,我们需要考虑的是如何优化电量使用,让我们的 App 不会因为电量消耗过高被用户排斥,或者被其他安全应用报告,以此确保用户黏性。2、电量重视度不够开发中一直连接手机,不知道电量消耗有多快。3、电量消耗线上难以量化我们没有办法拿到每一个用户手机的组件能耗,其中不同的硬件模块使用了不同的参数,然后使用了不同的算法原创 2020-06-20 10:33:48 · 1866 阅读 · 0 评论 -
深度探索Gradle自动化构建技术(二、Groovy 筑基篇)
前言成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。Groovy 作为 Gradle 这一强大构建工具的核心语言,其重要性不言而喻,但是 Groovy 本身是十分复杂的,要想全面地掌握它,我想几十篇万字长文也无法将其彻底描述。所幸的是,在 Gradle 领域中涉及的 Groovy 知识都是非常基础的,因此,本篇文章的目的是为了在后续深入探索...原创 2020-04-23 09:05:26 · 669 阅读 · 0 评论 -
深度探索 Gradle 自动化构建技术(一、Gradle 核心配置篇)
前言成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。一、重识 Gradle工程构建工具从古老的 mk、make、cmake、qmake, 再到成熟的 ant、maven、ivy,最后到如今互联网时代的 sbt、gradle,经历了长久的历史演化与变迁。Gradle 作为一款新生代的构建工具无疑是有它自身的巨大优势的,因此,掌握好 Gra...原创 2020-04-13 12:56:23 · 1009 阅读 · 0 评论 -
深入探索编译插桩技术(四、ASM 探秘)
前言成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。在 《深入探索编译插桩技术(二、AspectJ)》 一文中我们深入学习了 AspectJ 在 Android 下的使用。可以看到 AspectJ 非常强大,但是它也只能实现 50% 的字节码操作场景,如果想要实现 100% 的字节码操作场景,那么就不得不使用 ASM。此外,AspectJ...原创 2020-04-09 09:24:19 · 553 阅读 · 0 评论 -
深入探索编译插桩技术(三、解密 JVM 字节码)
前言成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。本篇是 《深入探索编译插桩技术》系列文章 的第三篇,相比前两篇文章来说,难度上升了不止一个档次,所以含金量比较高。并且,拥有扎实的 JVM 字节码基础能让我们更好地掌握 ASM 这个强大的编译插桩工具,而灵活地运用 ASM 能让我们的个人以及项目团队的生产力有质的提升,这一点,无论是在中小...原创 2020-04-07 10:44:00 · 498 阅读 · 0 评论 -
深入探索编译插桩技术(二、AspectJ)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。现如今,编译插桩技术已经深入 Android 开发中的各个领域,而 AOP 技术正是一种高效实现插桩的模式,它的出现正好给处于黑暗中的我们带来了光明,极大地解决了传统开发过程中的一些痛点,而 AspectJ 作为一套基于 Java 语言面向切面的扩展设计规范,能够赋予我们新的能力。在这篇文章...原创 2020-04-02 08:48:24 · 909 阅读 · 0 评论 -
深入探索编译插桩技术(一、编译基础)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。现如今,Gradle + 编译插桩 的应用场景越来越多,无论是 各种性能优化中的插件工具制作,还是用来支持 插件化、热修复的各种插件,都会使用到这个组合,因此,掌握 Gradle + 编译插桩 技术能够大大提升我们的技术竞争力。从本篇开始,笔者将会与大家一起深入探索编译插桩技术,关于整个编译......原创 2020-04-01 11:03:46 · 3002 阅读 · 0 评论 -
深入探索 Android 包体积优化(匠心制作)
前言成为一名优秀的Android开发,需要一份完备的 知识体系,在这里,让我们一起成长为自己所想的那样~。在 Android 性能优化的知识体系当中,包体积优化一直被排在优先级比较低的位置,从而导致很多开发同学对自身应用的大小并不重视。在项目发展的历程中,一般可划分为如下三个阶段:初创期 => 成长期 => 成熟期通常来说,当应用处于成长期的中后阶段时,才会考虑去做系统的包体......原创 2020-03-26 18:20:22 · 5112 阅读 · 2 评论 -
深入探索 Android 内存优化(炼狱级别)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。本篇是 Android 内存优化的进阶篇,难度可以说达到了炼狱级别,建议对内存优化不是非常熟悉的仔细看看前篇文章: Android性能优化之内存优化,其中详细分析了以下几大模块:1)、Android的内存管理机制2)、优化内存的意义3)、避免内存泄漏4)、优化内存空间5)、图片管......原创 2020-03-23 14:47:49 · 4163 阅读 · 1 评论 -
Android性能优化之内存优化
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。Tips:本篇是《深入探索Android内存优化》的基础篇,如果没有掌握Android内存优化的同学建议系统学习一遍。众所周知,内存优化可以说是性能优化中最重要的优化点之一,可以说,如果你没有掌握系统的内存优化方案,就不能说你对Android的性能优化有过多的研究与探索。本篇,笔者将带领...原创 2020-03-21 15:33:29 · 1170 阅读 · 0 评论 -
深入探索Android启动速度优化
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。在性能优化的整个知识体系中,最重要的就是稳定性优化,在上一篇文章 《深入探索Android稳定性优化》 中我们已经深入探索了Android稳定性优化的疆域。那么,除了稳定性以外,对于性能纬度来说,哪个方面的性能是最重要的呢?毫无疑问,就是应用的启动速度。下面,就让我们扬起航帆,一起来逐步深入......原创 2020-03-16 14:29:57 · 2936 阅读 · 0 评论 -
深入探索Android稳定性优化
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。众所周知,移动开发已经到了后半场的阶段,为了能够在众多开发者中脱颖而出,我们需要对某一个领域有深入地研究与心得,对于Android开发者来说,目前,有几个好的细分领域值得我们去建立自己的技术壁垒,如下所示:1、性能优化专家:具备深度性能优化与体系化APM建设的能力2、架构师:具有丰富的......原创 2020-03-12 12:12:31 · 17817 阅读 · 14 评论 -
【建议收藏】面试没有亮点?给你一份Android热门三方库源码面试宝典
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能。就拿比较热门的图片加载框架Glide来说,相信很多同学都使用过,那么,当别人问你下面这些问题时你是否能回答出来呢?(Glide五连发...原创 2020-03-09 17:06:50 · 481 阅读 · 0 评论 -
【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。???? A awesome android expert interview questions and answers(continuous updating …)从几十份顶级面试仓库和300多篇高质量面经中总结出一份全面成体系化的Android高级面试题集。随着Android技术发展......原创 2020-03-06 10:41:40 · 2403 阅读 · 0 评论 -
Android性能优化之绘制优化
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。前一段时间,笔者带大家一起深入探索Android布局优化和深入探索Android卡顿优化,内容难度比较大,因此,本篇文章就是上述两篇文章的基础篇,掌握这篇文章的知识后,阅读上面两篇文章的难度会小很多。我们都知道,造成绘制不流畅最大的罪魁祸首就是卡顿,而卡顿的主要场景有很多,按场景可以分成4......原创 2020-03-06 10:39:11 · 2275 阅读 · 3 评论 -
Android主流三方库源码分析(九、深入理解EventBus源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。不知不觉,Android主流三方库源码分析系列已经要接近尾声了。这一次,笔者将会对Android中的事件总线框架EventBus源码进行详细地解析,一起来和大家揭开它背后的面纱。一、简单示例1、首先,定义要传递的事件实体public class CollectEvent { ... }...原创 2020-03-06 10:36:09 · 414 阅读 · 0 评论 -
Android主流三方库源码分析(八、深入理解Dagger2源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。上一篇,笔者详细地分析了Android中的依赖注入框架ButterKnife,使用它帮助我们解决了重复编写findViewById和setOnclickListener的繁琐。众所周知,当项目越来越大时,类之间的调用层次会越来越深,并且有些类是Activity/Fragment,有些是单例,...原创 2020-02-28 10:40:33 · 430 阅读 · 0 评论 -
Android主流三方库源码分析(七、深入理解ButterKnife源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。不知不觉,笔者已经对Android主流三方库中的网络框架OkHttp、Retrofit,图片加载框架Glide、数据库框架GreenDao、响应式编程框架RxJava、内存泄露框架LeakCanary进行了详细的分析,如果有朋友对这些开源框架的内部实现机制感兴趣的话,可以在笔者的个人主页选择...原创 2020-02-26 10:36:02 · 250 阅读 · 0 评论 -
Android主流三方库源码分析(六、深入理解Leakcanary源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。在Android主流三方库源码分析系列的前几篇文章中,笔者已经对网络、图片、数据库、响应式编程中最热门的第三方开源框架进行了较为深入地讲解,如果有朋友对这四块感兴趣的话,可以去了解下。本篇,我将会对Android中的内存泄露检测框架Leakcanary的源码流程进行详细地讲解。一、原理概述...原创 2020-02-24 10:40:48 · 689 阅读 · 0 评论 -
Android主流三方库源码分析(五、深入理解RxJava源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。到目前为止笔者分析了Android中最热门的网络底层和封装框架:Android主流三方库源码分析(一、深入理解OKHttp源码)和Android主流三方库源码分析(二、深入理解Retrofit源码),Android中使用最广泛的图片加载框架Glide的加载流程:Android主流三方库源码分...原创 2020-02-19 10:52:53 · 267 阅读 · 0 评论 -
深入探索Android卡顿优化(下)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。在上篇文章中,笔者带领大家学习了卡顿优化分析方法与工具、自动化卡顿检测方案及优化这两块内容。如果对这块内容还不了解的同学建议先看看《深入探索Android卡顿优化(上)》。本篇,为深入探索Android卡顿优化的下篇。这篇文章包含的主要内容如下所示:1、ANR分析与实战2、卡顿单点问题......原创 2020-02-17 11:10:06 · 3063 阅读 · 0 评论 -
Android主流三方库源码分析(四、深入理解GreenDao源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。前两篇我们详细地分析了Android的网络底层框架OKHttp和封装框架Retrofit的核心源码,如果对OKHttp或Retrofit内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)和Android主流三方库源码分析(二、深入理解Retrofit源码...原创 2020-02-17 11:06:53 · 457 阅读 · 0 评论 -
深入探索Android卡顿优化(上)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。在上篇,笔者详细分析了目前的App绘制与布局优化的相关优化方案,如果对绘制优化与布局优化还不是非常熟悉的可以仔细看看前几篇文章:Android性能优化之绘制优化、深入探索Android布局优化(上)、深入探索Android布局优化(下)。由于卡顿优化这一主题包含的内容太多,为了更详细地进行讲......原创 2020-02-11 11:08:11 · 5899 阅读 · 1 评论 -
Android主流三方库源码分析(三、深入理解Glide源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。tips:文章太长可以先点赞收藏哦,后续再慢慢阅读~前两篇我们详细地分析了Android的网络底层框架OKHttp和封装框架Retrofit的核心源码,如果对OKHttp或Retrofit内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)和Andro...原创 2020-01-17 09:57:58 · 465 阅读 · 0 评论 -
Android主流三方库源码分析(二、深入理解Retrofit源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。前篇我们详细地分析了OKHttp的核心源码,如果对OKHttp内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)。这篇,将会来深入地分析下目前Android最优秀的网络封装框架Retrofit的源码流程。一、基本使用流程1、定义HTTP API,用于...原创 2020-01-16 09:33:31 · 331 阅读 · 0 评论 -
深入探索Android布局优化(下)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。在上篇文章中,笔者带领大家学习了布局优化涉及到的绘制原理、优化工具、监测手段等等知识。如果对这块内容还不了解的建议先看看《深入探索Android布局优化(上)》。本篇,为深入探索Android布局优化的下篇。这篇文章包含的主要内容如下所示:6、布局优化常规方案7、布局优化的进阶方案8......原创 2020-01-15 10:17:26 · 1266 阅读 · 0 评论 -
深入探索Android布局优化(上)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。Android的绘制优化其实可以分为两个部分,即布局(UI)优化和卡顿优化,而布局优化的核心问题就是要解决因布局渲染性能不佳而导致应用卡顿的问题,所以它可以认为是卡顿优化的一个子集。对于Android开发来说,写布局可以说是一个比较简单的工作,但是如果想将写的每一个布局的渲染性能提升到比较好......原创 2020-01-14 10:16:39 · 5475 阅读 · 0 评论 -
Android主流三方库源码分析(一、深入理解OKHttp源码)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。更好的阅读体验请跳转至个人博客前两篇我们详细分析了View的核心源码—Android的触摸事件传递机制和Android View的绘制流程,从这篇开始,笔者接下来将会陪大家深入分析目前Android中大部分的主流开源框架源码,从而能够让我们真正地去理解这些优秀开源框架背后的思想,真真切切地...原创 2020-01-13 11:41:07 · 643 阅读 · 0 评论 -
一文彻底搞懂Android View的绘制流程
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。上一篇中我们讲到了Android的触摸事件传递机制,除此之外,关于Android View的绘制流程这一块也是View相关的核心知识点。我们都知道,PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个。同时,PhoneWindow也是Activity和...原创 2020-01-10 11:07:30 · 1128 阅读 · 3 评论 -
Android触摸事件传递机制,原来如此
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。一、了解Activity的构成一个Activity包含了一个Window对象,这个对象是由PhoneWindow来实现的。PhoneWindow将DecorView作为整个应用窗口的根View,而这个DecorView又将屏幕划分为两个区域:一个是TitleView,另一个是Content...原创 2020-01-09 13:01:32 · 375 阅读 · 0 评论 -
一文全面了解Android单元测试
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。==》完整项目单元测试学习案例众所周知,一个好的项目需要不断地打造,而一些有效的测试则是加速这一过程的利器。本篇博文将带你了解并逐步深入Android单元测试。什么是单元测试?单元测试就是针对类中的某一个方法进行验证是否正确的过程,单元就是指独立的粒子,在Android和Java中大...原创 2020-01-08 10:19:57 · 449 阅读 · 0 评论 -
可能会改变你的话(两年内收集的33条Awesome Tips)
前言成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。这是一篇记录平时读书遇到的一些让人觉得会改变自己的话。Some Awesome Tips1.一个浪头打过来,最好的办法是迎上去了解个究竟,而不是漠视,或者干脆当事情没有发生。2.记住这个教训:别猜,去问!去查!3.隔一段时间重顾知识是记忆的关键方法。不要一次性学完一项知识就不管...原创 2020-01-07 10:14:19 · 325 阅读 · 1 评论