首页
沸点
课程
APP
AI用量
作品广场
专家标注
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
原理
订阅
luck_top
更多收藏集
微信扫码分享
微信
新浪微博
QQ
16篇文章 · 0订阅
Kotlin协程实现原理:Suspend&CoroutineContext
今天我们来聊聊Kotlin的协程Coroutine。 ... 接下来的一些文章试着来分析一下这些疑问,也欢迎大家一起加入来讨论。 这个疑问很简单,只要你不是野路子接触协程的,都应该能够知道。因为官方文档中已经明确给出了定义。 下面来看下官方的原话(也是这篇文章最具有底气的一段话…
一定能看懂的 Retrofit 最详细的源码解析!
我会在文章中,通过源码,逐步解开疑惑,并且在最后文章结尾会再次总结,回答上面的几个问题。 Retrofit 和 OkHttp 是目前最广泛使用的网络请求库了,所以有必要了解它的源码,学习它的优秀的代码与设计,来提升自己。 首先先看一下 Retrofit 的基本用法,根据示例代码…
Android粒子篇之Bitmap像素级操作
零、前言一、初识1.什么是Bitmap像素级的操作:2.获取第一个像素3.获取所有点像素颜色值二、分析:1.首先看一下如何创建一个Bitmap对象2.保存bitmap成为图片到本地3.bitmap.g
RecyclerView 源码分析(六) - DiffUtil的差量算法分析
首先,我估计有一部分的同学可能还不知道DiffUtil是什么,说实话,之前我也根本不了解这是什么东西。DiffUtil是我在公司实习的时候了解到的一个类,在那之前,我使用RecyclerView的方式也是大部分的人差不多,就是RecyclerView和它的四大组成部分任意组合。…
HashMap源码解析
HashMap又称为散列表,是我们日常工作中使用最频繁的一个数据结构之一。它可以通过一个映射函数把key值经过计算直接映射到value的位置。 最简单的映射函数就是取余。假定表的大小为M,那任意数N放入M中的方法就是把N放到N % M的位置处,这样我们想要N的值的时候只要直接去…
腾讯零反射全动态Android插件框架Shadow解析
最近几年,腾讯对于开源事业也是越来越支持,今天要说的就是在腾讯被广泛使用的Shadow框架,一个经过线上亿级用户量检验的反射全动态Android插件框架。 Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级用户量检验。 Shadow不仅开源分享了插件技术的关键…
LruCache 的使用及原理
在我们日常开发中,UI 界面进行网络图片加载是很正常的一件事情,但是当界面上的图片过于多的时候,不可能每次都从网络上进行图片的获取,一方面效率会很低,另一方面,也会非常耗费用户的流量。 Android 为我们提供了 LruCache 类,使用它我们可以进行图片的内存缓存,今天我…
Android LruCache 缓存机制实现原理
当序列达到设置的内存上限时, 丢弃序列中最近最少使用的元素. 编写一个 LruCache, 用于缓存 Integer. 可见, 每次的 get 和 put 操作, 都会造成序列中的重排序, 最近使用的元素在末尾, 最近最少使用的元素在头部, 当容量超过限制时会移出最近最少使用的…
0xA02 Android 10 源码分析:APK 的安装流程
在 Android 9 及更低版本中,软件包安装和权限控制功能包含在 PackageInstaller 软件包 (//packages/apps/PackageInstaller) 中。在 Android 10 及更高版本中,权限控制功能位于单独的软件包 PermissionC…
深入理解 Handler 消息机制
记得很多年前的一次面试中,面试官问了这么一个问题,你在项目中一般如何实现线程切换? 他的本意应该是考察 RxJava 的使用,只是我的答案是 Handler,他也就没有再追问下去了。在早期 Android 开发的荒芜时代,Handler 的确承担了项目中大部分的线程切换工作,通…