首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
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 的确承担了项目中大部分的线程切换工作,通…