SF
深入探索 Android 系列
深入探索 Android 系列
注册登录
关注博客
注册登录
主页
关于
RSS
深入探索 Gradle 自动化构建技术(九、Gradle 插件平台化框架 ByteX 探秘之旅)
JsonChao
2020-06-30
阅读 32 分钟
181
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 一、前置知识 1、函数式编程 1)、什么是函数式编程? 面向对象编程是对数据进行抽象,而函数式编程是对行为进行抽象。现实世界中,数据和行为并存,而程序也是如此。 2)为什么要学习函数式编程? 用函数(行为)...
深入探索 Android 电量优化
JsonChao
2020-06-20
阅读 15 分钟
694
在 Android 应用开发中,我们需要考虑的是如何优化电量使用,让我们的 App 不会因为电量消耗过高被用户排斥,或者被其他安全应用报告,以此确保用户黏性。
深入探索编译插桩技术(三、解密 JVM 字节码)
JsonChao
2020-04-07
阅读 22 分钟
443
本篇是 《深入探索编译插桩技术》系列文章 的第三篇,相比前两篇文章来说,难度上升了不止一个档次,所以含金量比较高。并且,拥有扎实的 JVM 字节码基础能让我们更好地掌握 ASM 这个强大的编译插桩工具,而灵活地运用 ASM 能让我们的个人以及项目团队的生产力有质的提升,这一点,无论是在中小型公司,还是在一二线的大...
深入探索编译插桩技术(二、AspectJ)
JsonChao
2020-04-02
阅读 30 分钟
892
现如今,编译插桩技术已经深入 Android 开发中的各个领域,而 AOP 技术正是一种高效实现插桩的模式,它的出现正好给处于黑暗中的我们带来了光明,极大地解决了传统开发过程中的一些痛点,而 AspectJ 作为一套基于 Java 语言面向切面的扩展设计规范,能够赋予我们新的能力。在这篇文章我们将来学习如何使用 AspectJ 来进...
深入探索编译插桩技术(一、编译基础)
JsonChao
2020-04-01
阅读 13 分钟
527
现如今,Gradle + 编译插桩 的应用场景越来越多,无论是 各种性能优化中的插件工具制作,还是用来支持 插件化、热修复的各种插件,都会使用到这个组合,因此,掌握 Gradle + 编译插桩 技术能够大大提升我们的技术竞争力。从本篇开始,笔者将会与大家一起深入探索编译插桩技术,关于整个编译插桩技术研究系列的大纲如下所...
深入探索 Android 内存优化(炼狱级别)
JsonChao
2020-03-23
阅读 45 分钟
2.7k
本篇是 Android 内存优化的进阶篇,难度可以说达到了炼狱级别,建议对内存优化不是非常熟悉的仔细看看前篇文章: Android性能优化之内存优化,其中详细分析了以下几大模块:
深入探索Android启动速度优化
JsonChao
2020-03-16
阅读 37 分钟
1.3k
在性能优化的整个知识体系中,最重要的就是稳定性优化,在上一篇文章 《深入探索Android稳定性优化》 中我们已经深入探索了Android稳定性优化的疆域。那么,除了稳定性以外,对于性能纬度来说,哪个方面的性能是最重要的呢?毫无疑问,就是应用的启动速度。下面,就让我们扬起航帆,一起来逐步深入探索Android启动速度优...
深入探索Android稳定性优化
JsonChao
2020-03-12
阅读 23 分钟
1.7k
众所周知,移动开发已经到了后半场的阶段,为了能够在众多开发者中脱颖而出,我们需要对某一个领域有深入地研究与心得,对于Android开发者来说,目前,有几个好的细分领域值得我们去建立自己的技术壁垒,如下所示:
【建议收藏】面试没有亮点?给你一份Android热门三方库源码面试宝典
JsonChao
2020-03-09
阅读 4 分钟
399
众所周知,优秀源码的阅读与理解是最能提升自身功力的途径,如果想要成为一名优秀的Android工程师,那么Android中优秀三方库源码的分析和理解则是必备技能。就拿比较热门的图片加载框架Glide来说,相信很多同学都使用过,那么,当别人问你下面这些问题时你是否能回答出来呢?(Glide五连发)
【建议收藏】2020年中高级Android大厂面试秘籍,为你保驾护航金三银四,直通大厂
JsonChao
2020-03-06
阅读 19 分钟
1.1k
? A awesome android expert interview questions and answers(continuous updating ...)
Android性能优化之绘制优化
JsonChao
2020-03-06
阅读 9 分钟
573
前一段时间,笔者带大家一起深入探索Android布局优化和深入探索Android卡顿优化,内容难度比较大,因此,本篇文章就是上述两篇文章的基础篇,掌握这篇文章的知识后,阅读上面两篇文章的难度会小很多。
Android主流三方库源码分析(九、深入理解EventBus源码)
JsonChao
2020-03-06
阅读 23 分钟
254
不知不觉,Android主流三方库源码分析系列已经要接近尾声了。这一次,笔者将会对Android中的事件总线框架EventBus源码进行详细地解析,一起来和大家揭开它背后的面纱。
Android主流三方库源码分析(八、深入理解Dagger2源码)
JsonChao
2020-02-28
阅读 20 分钟
369
上一篇,笔者详细地分析了Android中的依赖注入框架ButterKnife,使用它帮助我们解决了重复编写findViewById和setOnclickListener的繁琐。众所周知,当项目越来越大时,类之间的调用层次会越来越深,并且有些类是Activity/Fragment,有些是单例,而且它们的生命周期也不是一致的,所以创建这些对象时要处理的各个对象的依...
Android主流三方库源码分析(七、深入理解ButterKnife源码)
JsonChao
2020-02-26
阅读 15 分钟
284
不知不觉,笔者已经对Android主流三方库中的网络框架OkHttp、Retrofit,图片加载框架Glide、数据库框架GreenDao、响应式编程框架RxJava、内存泄露框架LeakCanary进行了详细的分析,如果有朋友对这些开源框架的内部实现机制感兴趣的话,可以在笔者的个人主页选择相应的文章阅读。这篇,我将会对Android中的依赖注入框架Bu...
Android主流三方库源码分析(六、深入理解Leakcanary源码)
JsonChao
2020-02-24
阅读 24 分钟
367
在Android主流三方库源码分析系列的前几篇文章中,笔者已经对网络、图片、数据库、响应式编程中最热门的第三方开源框架进行了较为深入地讲解,如果有朋友对这四块感兴趣的话,可以去了解下。本篇,我将会对Android中的内存泄露检测框架Leakcanary的源码流程进行详细地讲解。
Android主流三方库源码分析(五、深入理解RxJava源码)
JsonChao
2020-02-19
阅读 17 分钟
470
到目前为止笔者分析了Android中最热门的网络底层和封装框架:Android主流三方库源码分析(一、深入理解OKHttp源码)和Android主流三方库源码分析(二、深入理解Retrofit源码),Android中使用最广泛的图片加载框架Glide的加载流程:Android主流三方库源码分析(三、深入理解Glide源码)以及Android中性能最好的数据库框...
Android主流三方库源码分析(四、深入理解GreenDao源码)
JsonChao
2020-02-17
阅读 18 分钟
378
前两篇我们详细地分析了Android的网络底层框架OKHttp和封装框架Retrofit的核心源码,如果对OKHttp或Retrofit内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)和Android主流三方库源码分析(二、深入理解Retrofit源码),除了热门的网络库之外,我们还分析了使用最广泛的图片加载框架Glide...
深入探索Android卡顿优化(上)
JsonChao
2020-02-11
阅读 30 分钟
924
在上篇,笔者详细分析了目前的App绘制与布局优化的相关优化方案,如果对绘制优化与布局优化还不是非常熟悉的可以仔细看看前几篇文章:Android性能优化之绘制优化、深入探索Android布局优化(上)、深入探索Android布局优化(下)。由于卡顿优化这一主题包含的内容太多,为了更详细地进行讲解,因此,笔者将它分为了上、...
Android主流三方库源码分析(三、深入理解Glide源码)
JsonChao
2020-01-17
阅读 39 分钟
365
前两篇我们详细地分析了Android的网络底层框架OKHttp和封装框架Retrofit的核心源码,如果对OKHttp或Retrofit内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)和Android主流三方库源码分析(二、深入理解Retrofit源码)。本篇,我们将会来深入地分析下目前Android使用最广泛的图片加载框架...
Android主流三方库源码分析(二、深入理解Retrofit源码)
JsonChao
2020-01-16
阅读 19 分钟
335
前篇我们详细地分析了OKHttp的核心源码,如果对OKHttp内部机制不了解的可以看看Android主流三方库源码分析(一、深入理解OKHttp源码)。这篇,将会来深入地分析下目前Android最优秀的网络封装框架Retrofit的源码流程。
深入探索Android布局优化(下)
JsonChao
2020-01-15
阅读 40 分钟
1.2k
在上篇文章中,笔者带领大家学习了布局优化涉及到的绘制原理、优化工具、监测手段等等知识。如果对这块内容还不了解的建议先看看《深入探索Android布局优化(上)》。本篇,为深入探索Android布局优化的下篇。这篇文章包含的主要内容如下所示:
深入探索Android布局优化(上)
JsonChao
2020-01-14
阅读 41 分钟
1.4k
Android的绘制优化其实可以分为两个部分,即布局(UI)优化和卡顿优化,而布局优化的核心问题就是要解决因布局渲染性能不佳而导致应用卡顿的问题,所以它可以认为是卡顿优化的一个子集。对于Android开发来说,写布局可以说是一个比较简单的工作,但是如果想将写的每一个布局的渲染性能提升到比较好的程度,要付出的努力是...
Android主流三方库源码分析(一、深入理解OKHttp源码)
JsonChao
2020-01-13
阅读 22 分钟
199
前两篇我们详细分析了View的核心源码—Android的触摸事件传递机制和Android View的绘制流程,从这篇开始,笔者接下来将会陪大家深入分析目前Android中大部分的主流开源框架源码,从而能够让我们真正地去理解这些优秀开源框架背后的思想,真真切切地提升自己的内功。目前,这一系列的分析顺序如下:
一文彻底搞懂Android View的绘制流程
JsonChao
2020-01-10
阅读 21 分钟
479
上一篇中我们讲到了Android的触摸事件传递机制,除此之外,关于Android View的绘制流程这一块也是View相关的核心知识点。我们都知道,PhoneWindow是Android系统中最基本的窗口系统,每个Activity会创建一个。同时,PhoneWindow也是Activity和View系统交互的接口。DecorView本质上是一个FrameLayout,是Activity中所有Vie...
Android触摸事件传递机制,原来如此
JsonChao
2020-01-09
阅读 10 分钟
475
一个Activity包含了一个Window对象,这个对象是由PhoneWindow来实现的。PhoneWindow将DecorView作为整个应用窗口的根View,而这个DecorView又将屏幕划分为两个区域:一个是TitleView,另一个是ContentView,而我们平时所写的就是展示在ContentView中的,下图表示Activity的构成。
一文全面了解Android单元测试
JsonChao
2020-01-08
阅读 11 分钟
493
使用单元测试可以提高开发效率,当项目随着迭代越来越大时,每一次编译、运行、打包、调试需要耗费的时间会随之上升,因此,使用单元测试可以不需这一步骤就可以对单个方法进行功能或逻辑测试。同时,为了能测试每一个细分功能模块,需要将其相关代码抽成相应的方法封装起来,这也在一定程度上改善了代码的设计。因为是...
可能会改变你的话(两年内收集的33条Awesome Tips)
JsonChao
2020-01-07
阅读 4 分钟
621
如果这个库对您有很大帮助,您愿意支持这个项目的进一步开发和这个项目的持续维护。你可以扫描下面的二维码,让我喝一杯咖啡或啤酒。非常感谢您的捐赠。谢谢!
Android 学习渠道分享
JsonChao
2020-01-06
阅读 3 分钟
926
前言 成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 最近扫阅了国内外大部分的Android技术网站,特定总结一下很棒的干货,本文旨在总结自身的android学习渠道来源,分类如下: 一、技术公众号:一些经过检测,确属干货的技术(android为主)公众号 (注:搜索公众号名...