公众号:小余的自习室_社区达人页

个人头像照片
公众号:小余的自习室
已加入开发者社区742

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
江湖新秀
江湖新秀

成就

已发布70篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
擅长领域
技术认证

暂时未有相关云产品技术能力~

公众号:小余的自习室 10年Android开发经验,擅长Android架构设计,组件化开发,性能优化等领域

暂无精选文章
暂无更多信息

2023年02月

  • 02.14 17:59:04
    发表了文章 2023-02-14 17:59:04
  • 02.14 17:58:27
    发表了文章 2023-02-14 17:58:27
  • 02.14 17:57:43
    发表了文章 2023-02-14 17:57:43

    面试官:讲讲你对Activity启动机制的理解。。

    笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自
  • 02.14 17:57:03
    发表了文章 2023-02-14 17:57:03

    android体系课-系统启动流程-之zygote进程启动过程源码分析

    笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己
  • 02.14 17:56:32
    发表了文章 2023-02-14 17:56:32

    android体系课-系统启动流程-之SystemServer启动过程源码分析

    笔者刚开始学习Android的时候也和大部分同学一样,只会使用一些应用层面的知识,对于一些比较常见的开源框架如<mark>RxJava</mark>,<mark>OkHttp</mark>,<mark>Retrofit</mark>,以及后来谷歌推出的<mark>协程</mark>等,都只在使用层面,对于他们<mark>内部原理</mark>,基本没有去了解觉得够用就可以了,又比如Activity,Service等四大组件的使用原理,系统开机过程,Launcher启动过程等知之甚少,知其然而不知其所以然,结果就是出现某些问题,不知道从哪里找原因,只能依赖万能的百度,但是百度看多了,你会发现自己
  • 02.14 17:55:14
    发表了文章 2023-02-14 17:55:14

    使用rxjava创建一个rxbus事件处理框架

    RxJava已经出现很多个年头了,但是依然被很多公司使用,如果现在还对RxJava了解的不够透彻, 可以看这个系列对它的分析:相信看完后你对它会有个更全面的认识。 这个系列主要从下面几个方面来讲解: **RxJava基本操作符使用** **RxJava响应式编程是如何实现的** **RxJava的背压机制及Flowable是如何实现背压的** **RxJava的线程切换原理
  • 02.14 17:54:10
    发表了文章 2023-02-14 17:54:10

    面试官:让你设计一套图片加载框架,你会怎么设计?

    很多同学在面试中都会被问到图片加载这块的知识。
  • 02.14 17:53:36
    发表了文章 2023-02-14 17:53:36

    面试官:RxJava是如何做到响应式编程的?

    RxJava已经出现很多个年头了,但是依然被很多公司使用,如果现在还对RxJava了解的不够透彻, 可以看这个系列对它的分析:相信看完后你对它会有个更全面的认识。 这个系列主要从下面几个方面来讲解: **RxJava基本操作符使用** **RxJava响应式编程是如何实现的** **RxJava的背压机制及Flowable是如何实现背压的** **RxJava的线程切换原理
  • 02.14 17:53:04
    发表了文章 2023-02-14 17:53:04

    面试官:RxJava背压机制有了解么?

    RxJava已经出现很多个年头了,但是依然被很多公司使用,如果现在还对RxJava了解的不够透彻, 可以看这个系列对它的分析:相信看完后你对它会有个更全面的认识。 这个系列主要从下面几个方面来讲解: **RxJava基本操作符使用** **RxJava响应式编程是如何实现的** **RxJava的背压机制及Flowable是如何实现背压的** **RxJava的线程切换原理** 关于RxJava的其他系列文章,可以点击下方链接
  • 02.14 17:52:32
    发表了文章 2023-02-14 17:52:32

    RxJava操作符详解--来看看你还记得多少

    RxJava已经出现很多个年头了,但是依然被很多公司使用,如果现在还对RxJava了解的不够透彻, 可以看这个系列对它的分析:相信看完后你对它会有个更全面的认识。 这个系列主要从下面几个方面来讲解: **RxJava基本操作符使用** **RxJava响应式编程是如何实现的** **RxJava的背压机制及Flowable是如何实现背压的** **RxJava的线程切换原理**
  • 02.14 17:52:02
    发表了文章 2023-02-14 17:52:02

    Android体系课之--LeakCanary内存泄露检测原理解析

    #### 内存泄露 不需要的对象实例,无法被垃圾回收,比如被静态片段保留,就说可能发生内存泄露 ##### 常见场景: - 1.不清楚fragment视图的字段的情况下,将fragment添加到backstack中 - 2.Activity以context的形式被添加到一些类中,比如静态类,则gc无法清除,如Activity被非静态内部类Handler引用 - 3.注册一个监听器,广播接收器或者RxJava订阅时,引用了一个生命周期的对象,生命周期结束后,没有取消注册
  • 02.14 17:51:19
    发表了文章 2023-02-14 17:51:19

    Android体系课学习 之 网络请求库Retrofit源码分析-看这一篇就够了

    - 网络请求在我们开发中起的很大比重,有一个好的网络框架可以节省我们的开发工作量,也可以避免一些在开发中不该出现的bug - *Retrofit*是一个轻量级框架,基于*OkHttp*的一个*Restful*框架
  • 02.14 17:50:52
    发表了文章 2023-02-14 17:50:52

    Android体系课学习 之 网络请求库Retrofit使用方式(附Demo)

    - 网络请求在我们开发中起的很大比重,有一个好的网络框架可以节省我们的开发工作量,也可以避免一些在开发中不该出现的bug - Retrofit是一个轻量级框架,基于OkHttp的一个Restful框架
  • 02.14 17:50:09
    发表了文章 2023-02-14 17:50:09

    Android体系课-开源框架-这是一份详细的Glide源码分析文章

    最近在`组件化`开发中准备封装一个`图片加载库`,于是乎就有了这篇文章 本篇文章对`Glide`源码过程做了一个详细的讲解,也是为了记录下自己对`Glide`的理解,以后忘记还可以从这里查找。
  • 02.14 17:49:17
    发表了文章 2023-02-14 17:49:17

    Android体系课 之 OkHttp你想知道的都在这里了--

    开发过程中经常需要使用到网络请求,而OkHttp作为第一代网络框架,经久不衰,在众多框架中脱颖而出,且在近期已被谷歌官方推荐使用,一定有其原因:
  • 02.14 17:48:26
    发表了文章 2023-02-14 17:48:26

    Android体系课之--Kotlin协程进阶篇-协程在Android组件中的使用(四)

    1.协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器!)上调度执行,而代码则保持如同顺序执行一样简单。 2.协程是一种并发设计模式,您可以在Android平台上使用它来简化异步执行的代码
  • 02.14 17:47:56
    发表了文章 2023-02-14 17:47:56

    Android体系课之--Kotlin协程进阶篇-协程的异常处理机制以及suspend关键字(三)

    协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器!)上调度执行,而代码则保持如同顺序执行一样简单。
  • 02.14 17:47:24
    发表了文章 2023-02-14 17:47:24

    Android体系课之--Kotlin协程进阶篇-协程中关键知识点梳理(二)

    笔者在写这篇文章之前,也白嫖了很多关于Kotlin协程的文章: 这里笔者将他们分为三种: 1.讲的内容很*浅*,没几句可能就结束了,看完就索然无味了 2.讲的内容很*深*,看到一半就开始晕乎乎了,然后可能还是手机好玩。。 3.内容比较*适中*,读者可以在里面获取到一些协程的基本信息,关键内容可能就浅尝辄止了,很难获取到核心知识点 > 知识的学习就像谈恋爱,不能一上来就想和对方深入了解,也不能聊得太浅,影响后续发展,得讲究循序渐进。 接下来笔者会根据由浅入深的方式,阶段性来讲解Kotlin协程相关知识点。读者可以根据自己的需求,选择对应的阶段文章
  • 02.14 17:46:47
    发表了文章 2023-02-14 17:46:47

    Android体系课之--Kotlin协程入门篇-协程的基本使用

    笔者在写这篇文章之前,也白嫖了很多关于Kotlin协程的文章: 这里笔者将他们分为三种: - 1.讲的内容很*浅*,没几句可能就结束了,看完就索然无味了 - 2.讲的内容很*深*,看到一半就开始晕乎乎了,然后可能还是手机好玩。。 - 3.内容比较*适中*,读者可以在里面获取到一些协程的基本信息,关键内容可能就浅尝辄止了,很难获取到核心知识点
  • 02.14 17:45:57
    发表了文章 2023-02-14 17:45:57
  • 02.14 17:45:23
    发表了文章 2023-02-14 17:45:23
  • 02.14 17:44:47
    发表了文章 2023-02-14 17:44:47

    Android体系课--Handler-Handler面试题

    面试官:说说Handler基本使用原理
  • 02.14 17:44:10
    发表了文章 2023-02-14 17:44:10

    企业级项目组件化重构之路

    前面几篇文章我们讲解了一个云音乐app的基础库搭建,今天我们就来对这个app进行**组件化代码重构**
  • 02.14 17:43:30
    发表了文章 2023-02-14 17:43:30

    Android组件化开发(七)--从零开始教你分析项目需求并实现

    前面几篇文章我们封装了几个组件化功能组件:包括:**网络请求组件,图片加载请求组件,应用保活组件,音乐播放组件封装。** &gt; 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
  • 02.14 17:42:58
    发表了文章 2023-02-14 17:42:58

    Android组件化开发(六)-- 短视频播放组件封装

    前面几篇文章我们封装了几个组件化功能组件: 包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`,`音乐播放组件封装`。 > 每个组件都可以直接拿到自己项目中使用,当然还需根据自己项目要求进行优化。
  • 02.14 17:42:26
    发表了文章 2023-02-14 17:42:26

    Android组件化开发(五)--完整版音乐播放组件的封装

    前面几篇系列文章我们讲解了`组件化开发`中几个常用功能组件的开发,包括:`网络请求组件`,`图片加载请求组件`,`应用保活组件`。今天我们来封装一个`音乐播放组件`。
  • 02.14 17:41:52
    发表了文章 2023-02-14 17:41:52

    Android组件化开发(四)--进程保活组件的封装

    前面文章我们封装了网络请求组件`lib_nework`和图片加载组件`lib_image_loader`,今天我们来封装一个进程保活的组件`lib_pull_alive`
  • 02.14 17:41:14
    发表了文章 2023-02-14 17:41:14

    Android组件化开发(三)--图片加载组件封装

    今天我们来封装一个`图片加载库`:`lib_image_loader`
  • 02.14 17:40:37
    发表了文章 2023-02-14 17:40:37

    Android组件化开发(二)--网络请求组件封装

    前面一篇文章我们讲解了`maven私服`的搭建,maven私服在`组件化框架`中有一个很重要的地位就是可以将我们的`lib`库放到局域网中,供公司其他开发者使用,实现类库的分享。 下面是这个系列准备实现的一个`组件化实战项目框架`:
  • 02.14 17:39:50
    发表了文章 2023-02-14 17:39:50

    Android组件化开发(一)--Maven私服的搭建

    今天我们先不讲解项目框架,我们先来创建一个maven私服,来为我们的组件化框架项目先铺一条路子。
  • 02.14 17:38:36
    发表了文章 2023-02-14 17:38:36

    Gradle进阶篇(七)-AGP插件详解

    前面几篇文章我们讲解了关于关于`Gradle的基础`,`Gradle生命周期`,`Gradle相关Api`的讲解,以及`Gradle自定义插件`,`Gradle Maven仓库管理`.今天这篇文章我们来讲解下`Android Gradle Plugin`相关知识。
  • 02.14 17:37:59
    发表了文章 2023-02-14 17:37:59

    Gradle筑基篇(六)-使用Maven实现组件化类库发布

    前面几篇文章我们讲解了关于关于`Gradle的基础`,`Gradle生命周期`,`Gradle相关Api`的讲解,以及`Gradle自定义插件`,这篇文章我们就来讲解下如何使用`Maven进行组件化发布`
  • 02.14 17:37:21
    发表了文章 2023-02-14 17:37:21

    Gradle筑基篇(五)-Gradle自定义插件实战

    前面几篇文章笔者对Gradle的一些基础认知,groovy基础语法,以及Gradle 项目中常用的一些api进行了讲解。今天笔者再来讲解一些关于`Gradle插件`的使用
  • 02.14 17:36:42
    发表了文章 2023-02-14 17:36:42

    Gradle筑基篇(四)-Gradle APi详解

    前面我们使用两篇文章讲解了Gradle一些基础知识和Groovy语法详解 > 工欲善其事必先利其器 今天我们来讲解下`Gradle的Api`相关知识
  • 02.14 17:35:57
    发表了文章 2023-02-14 17:35:57

    Gradle筑基篇(二)-groovy语法详解

    大家回想一下自己第一次接触`Gradle`是什么时候? 相信大家也都是和我一样,在我们打开第一个AS项目的时候, 发现有很多带gradle字样的文件:`setting.gradle, build.gradle,gradle.warpper`,以及在`gradle`文件中各种配置, 这些都是啥wy啊。
  • 02.14 17:35:28
    发表了文章 2023-02-14 17:35:28

    Gradle筑基篇(一)-Gradle初探

    大家回想一下自己第一次接触`Gradle`是什么时候? 相信大家也都是和我一样,在我们打开第一个AS项目的时候, 发现有很多带gradle字样的文件:`setting.gradle, build.gradle,gradle.warpper`,以及在`gradle`文件中各种配置, 这些都是啥wy啊。。
  • 02.14 17:34:44
    发表了文章 2023-02-14 17:34:44

    Android开源系列-组件化框架Arouter-(三)APT技术详解

    最近组里需要进行**组件化框架**的改造,用到了**ARouter**这个开源框架,为了更好的对项目进行改造,笔者花了一些时间去了解了下ARouter
  • 02.14 17:34:13
    发表了文章 2023-02-14 17:34:13

    Android开源系列-组件化框架Arouter-(二)深度原理解析

    最近组里需要进行**组件化框架**的改造,用到了**ARouter**这个开源框架,为了更好的对项目进行改造,笔者花了一些时间去了解了下ARouter
  • 02.14 17:33:30
    发表了文章 2023-02-14 17:33:30

    Android开源系列-组件化框架Arouter-(一)使用方式详解

    最近组里需要进行**组件化框架**的改造,用到了`Arouter`这个开源框架,为了更好的对项目进行改造,笔者花了一些时间去了解了下`Arouter
  • 02.14 17:32:58
    发表了文章 2023-02-14 17:32:58

    深入探索编译插桩(一.JVM原理解析)

    作为Android开发者,日常写java,是否想过,玩玩class文件,直接对class文件的字节码下手,我们可以使用class字节码做很多有趣的事情:
  • 02.14 17:32:21
    发表了文章 2023-02-14 17:32:21

    深入探索编译插桩(三,ASM揭秘以及实战)

    最近在学习一些关于编译插桩方面的知识,说到编译插桩:大家可以想到的哪些关键字: `Gradle插件`,`ASM`,`AspectJ`,`AOP`,`JVM字节码`等。
  • 02.14 17:31:37
    发表了文章 2023-02-14 17:31:37

    深入探索编译插桩(二.app打包编译)

    现如今随着组件化, 插件化框架以及热修复,AOP编程等高级用法的新起,不得不驱使大家去了解更加底层的原理,上一篇文章笔者介绍了关于JVM字节码的理解,这篇文章笔者就来讲解下我们apk从编译到安装的过程。
  • 02.14 17:30:25
    发表了文章 2023-02-14 17:30:25

    插件化揭秘(一.类是如何一步一步被加载到虚拟机中的)

    前面一篇文章我们讲解了关于`Class文件类文件结构`,而Class文件最终需要加载到虚拟机内存中才能被使用, 本章就来讲解下,**Class文件被加载到虚拟机中的过程**
  • 02.14 17:29:43
    发表了文章 2023-02-14 17:29:43

    插件化?好像也就那么回事

    想必大家都知道,在 Android 系统中,应用是以 Apk 的形式存在的,应用都需要安装才能使用。 但实际上 **Android 系统安装应用的方式相当简单,其实就是把应用 Apk 拷贝到系统不同的目录下、然后把 so 解压出来而已**。
  • 02.14 17:28:55
    发表了文章 2023-02-14 17:28:55

    毕业5年了还不知道Android热修复?

    随着移动端业务复杂程度的增加,传统的版本更新流程显然无法满足业务和开发者的需求, 热修复技术的推出在很大程度上改善了这一局面。国内大部分成熟的主流 App都拥有自己的热更新技术,像手淘、支付宝、微信、QQ、饿了么、美团等。
  • 02.14 17:27:49
    发表了文章 2023-02-14 17:27:49

    项目维护几年了,为啥还这么卡?

    前段时间有个客户问我,为啥你们项目都搞了好几年了,为啥线上还会经常反馈卡顿,呃呃呃。。
  • 02.14 17:27:20
    发表了文章 2023-02-14 17:27:20

    Android性能优化(二):内存优化你一定要了解的知识点

    内存优化在Android开发中是一个很重要的部分,app内存的使用直接影响app的稳定性和流畅度。
  • 02.14 17:25:57
    发表了文章 2023-02-14 17:25:57

    Android 性能优化(一): 启动优化理论与实践

    本文章总结了目前市面上常见的一些启动优化常用手段,**开发和面试必备哦**
  • 02.14 17:25:24
    发表了文章 2023-02-14 17:25:24

    一文读懂系列Android屏幕刷新机制

    对一些大中型项目来说可能就不一样了:**他们涉及业务较多,设备种类较多,往往一个app内部集成了十几个子业务甚至上百个,这对应用性能要求就更加严格了,app的体验也会间接导致用户的留存问题**。 所以学习屏幕绘制这类理论性较强的知识也是非常有必要的。
  • 02.14 17:24:33
    发表了文章 2023-02-14 17:24:33

    基于Android T:包管理机制详解(下)

    接下面我们再来讲解下第三方应用的安装过程
  • 发表了文章 2023-02-14

    android系统启动过程图解-看完还不会的请找我!!

  • 发表了文章 2023-02-14

    关于Android系统启动的几个常见面试题问答

  • 发表了文章 2023-02-14

    面试官:讲讲你对Activity启动机制的理解。。

  • 发表了文章 2023-02-14

    android体系课-系统启动流程-之zygote进程启动过程源码分析

  • 发表了文章 2023-02-14

    android体系课-系统启动流程-之SystemServer启动过程源码分析

  • 发表了文章 2023-02-14

    使用rxjava创建一个rxbus事件处理框架

  • 发表了文章 2023-02-14

    面试官:让你设计一套图片加载框架,你会怎么设计?

  • 发表了文章 2023-02-14

    面试官:RxJava是如何做到响应式编程的?

  • 发表了文章 2023-02-14

    面试官:RxJava背压机制有了解么?

  • 发表了文章 2023-02-14

    RxJava操作符详解--来看看你还记得多少

  • 发表了文章 2023-02-14

    Android体系课之--LeakCanary内存泄露检测原理解析

  • 发表了文章 2023-02-14

    Android体系课学习 之 网络请求库Retrofit源码分析-看这一篇就够了

  • 发表了文章 2023-02-14

    Android体系课学习 之 网络请求库Retrofit使用方式(附Demo)

  • 发表了文章 2023-02-14

    Android体系课-开源框架-这是一份详细的Glide源码分析文章

  • 发表了文章 2023-02-14

    Android体系课 之 OkHttp你想知道的都在这里了--

  • 发表了文章 2023-02-14

    Android体系课之--Kotlin协程进阶篇-协程在Android组件中的使用(四)

  • 发表了文章 2023-02-14

    Android体系课之--Kotlin协程进阶篇-协程的异常处理机制以及suspend关键字(三)

  • 发表了文章 2023-02-14

    Android体系课之--Kotlin协程进阶篇-协程中关键知识点梳理(二)

  • 发表了文章 2023-02-14

    Android体系课之--Kotlin协程入门篇-协程的基本使用

  • 发表了文章 2023-02-14

    Andorid关于Binder几个面试问题

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息