Yilin.fun 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  • 友链
  •   

释然的年终总结 | 暗黑2020

前言 我正在参加掘金2020年度人气作者打榜 为 释然小师弟投票的小伙伴均可获赠Android高开面试全攻略及Android内参:源码学习的道与术小专栏一份 请联系微信Yahahaltd领取 回顾2020大家好,我是释然,一个平平无奇的Android开发者 2020年,我经历了这些 2020年是艰难的一年,被无端指责抄袭,因疫情停发工资,因团队解散被迫离职 2020年是荒废的一年,有大半年

2021-01-23
技术漫谈

重学面向对象:到底什么是多态?

前言接触Java这么久,我们一定都知道,作为面向对象阵营的典型代表,封装、继承、多态 (其实还应该包含抽象)是其三大基本特征 但是到底什么是多态,它的底层又是如何实现的,又有什么优缺点,可能就没那么容易说清楚 今天我们从它的近亲 C++ 语言来重新审视下,到底什么是多态 下面,正文开始! 什么是多态多态(Polymorphism)是面向对象的三大基本特征之一,多态是在 面向对象 的语境下,将数据模

2021-01-18
面向对象

线程锁事:从ReentraientLock看锁的正确使用姿势

前言前面我们对并发容器和线程协作工具进行了相关源码分析,今天我们将从使用出发,并继续深入源码,看看ReentraientLock是如何对锁的使用进行封装和优化的 下面,正文开始 使用ReentraientLock实现顺序打印在篇一:为什么CountDownlatch能保证执行顺序?中,我们使用CountdownLatch实现了顺序打印的需求,并且分析了其原理其实是线程间的通知和唤醒 Reentra

2021-01-18
并发编程

线程锁事:并发容器为什么能实现高效并发?

前言前篇文章介绍了CountdownLatch的使用及原理,而在并发中,除了多线程协作,我们还需要考虑如何实现高效并发 今天继续从源码的角度出发,聊一聊并发容器是如何实现高效并发的 下面,正文开始! 为什么Hashtable并发效率低?在提高效并发前,我们先讲一讲HashMap和Hashtable Hashmap是面试中的高频考点,也是实现hash表的重要的数据结构,可以用来存储键值对信息,可以根

2021-01-18
并发编程

线程锁事:为什么CountDownlatch能保证执行顺序?

前言不同的线程之间需要协作,最原始的做法就是通过等待通知机制来实现,通过Object中的wait(),notify,notifyAll()进行处理 CountDownLatch 是用来控制线程执行顺序的工具类,也可以说是处理线程协作的工具类 今天我们从CountDownLatch为切入点,看看它是如何支持线程协作的,以及内部是如何实现的 另外,我们也会列举一些其他的线程协作工具及用法 下面,正文开

2021-01-18
并发编程

Android11源码分析:静态广播是如何收到通知的?

前言 经过前面Activity,Service的分析,相信大家一定发现了,四大组件最大的特性就是支持跨进程 作为四大组件之一的广播,使用起来相当方便,可以通过注册广播接收系统消息,也可以方便的跨进程传递消息 今天我们就来分析下,广播是如何实现跨进程传递消息,以及静态广播,动态广播是如何注册和收发消息的 下面,正文开始! 注: 文章分析源码基于android11.0.0-r8,为方便阅读,部分源

2021-01-18
源码分析

Android11源码分析: UI到底为什么会卡顿?

前言 前几年,Android经常被吐槽不如IOS系统流畅,给人的感觉就是一卡一卡的 直到近一两年Android高刷屏开始普及,才从体验上真正有了一个质的提升 针对UI刷新的优化,系统层也一直在做相关的工作 今天我们从应用层的是使用出发,去深挖下源码,看看UI卡顿的根源到底是什么 下面,正文开始! 注: 本文源码基于android11.0.0-r2,保证逻辑清晰,部分源码有删减 UI是怎么刷

2021-01-17
源码分析

插件化探索:插件Activity是如何启动的

前言 分析完了Android四大组件的源码,接下来我们来聊一个相关性很强的话题:插件化! 插件化复杂的地方在于,如果一个完整的apk想要用插件的方式去加载到另一个Apk去,需要完成三个核心的需求 对插件中的代码(即class类)进行加载 对插件中的资源(即resource)进行加载 实现对四大组件的调用的支持 今天我们将围绕这三个核心的需求进行分析讲解 如何实现对插件类的加载?插件类的加载

2021-01-17
插件化

Android11源码分析:Activity是怎么启动的?

前言上一篇文章简单介绍了activity的启动流程,但只提及了与进程启动相关的部分,今天我们完整的看一看,activity是怎么被创建出来,又是如何与生命周期相绑定的 在今后的文章中,我们也将从插件化的角度来介绍,如何hook系统服务来达到加载插件activity的功能 温馨提示 别忘了点赞支持下,点赞越多更新越快哦~! 有任何建议也欢迎在评论区中交流! Activity启动流程分析启动a

2021-01-17
源码分析

Android11源码分析:应用是如何启动的?

前言众所周知,四大组件都是可以跑在单独的进程中的 在Android中,一个Application(应用)对应着一个或多个进程 对于应用开发者层来说,开启进程往往是被动开启 所谓的“被动开启”,即通过应用的组件,比如Activity,Service来启动对应的进程 今天我们通过Activity和Service的启动流程,来分析下在组件的启动过程中是如何将进程启动起来的 从Activity看如何开启一

2021-01-17
源码分析
12
Hexo Fluid
总访问量 次 总访客数 人