首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
底层
订阅
张风捷特烈
更多收藏集
微信扫码分享
微信
新浪微博
QQ
18篇文章 · 2订阅
会用就行了?你知道 AOP 框架的原理吗?
本文将从另一个角度讲解 AOP,从宏观的实现原理和设计本质入手。大部分讲 AOP 的博文都是一上来就罗列语法,然后敲个应用 demo就完了 。但学习不能知其然,不知其所以然。 敲一个小 Demo 来引入主题,假设我想不依赖任何 AOP 方法,在特定方法的执行前后加上日志打印。 …
RxJava2源码分析(二):操作符原理分析
Observable执行的create方法后返回的是ObservableCreate实例。 create方法的参数,实际是注入到ObservableCreate类中,作为它的成员变量。 调用Observable的subscribe方法最终调用的是ObservableCreate…
谈谈位运算和在Android中的运用
位运算,不论是计算机底层处理编码的时候,还是我们看源码的时候都一定有概率能够看见它。某种程度来说也算是比较熟悉了吧。 个人认为,位运算某种程度上是契合了数字电路之中的逻辑运算,通过一定的逻辑关系将二进制的数据进行快速处理。 虽然本质来说,位运算就是直接操作内存中的整数进行逻辑运…
从零开始仿写一个抖音App——Android绘制机制以及Surface家族源码全解析
1.进入微信公众号 世界上有意思的事 发送消息:**Android绘制机制以及Surface家族源码全解析,**即可获取本文的 pdf 版。 1.首先图的横轴是时间,纵轴从下到上分别表示:CPU 处理、GPU 处理、屏幕显示,这三个步骤也就是我们写的代码到图像显示在屏幕上的流程…
View 绘制流程分析
1. measure MeasureSpec: 这个关键对象贯穿在测量流程中,我们可以把它理解成一个 View 自身的「测量规格」, 它包含两个变量一个是 mode(测量模式),另一个是 size(测量尺寸)。 我觉得源码有一点设计的特别巧妙,但也很难理解,那就是用位操作来表示…
Android小知识-深入浅出Android系统启动流程(上)
Android系统基于Linux,init进程是Android系统中用户空间的第一个进程,进程号为1,init源代码在system/core/init目录下。既然init进程是Android系统用户空间的第一个进程,因此担负着非常重要的责任,主要负责以下两件事: 解析配置ini…
Android 基于 Choreographer 的渲染机制详解
引入 Vsync 之前的 Android 版本,渲染一帧相关的 Message ,中间是没有间隔的,上一帧绘制完,下一帧的 Message 紧接着就开始被处理。这样的问题就是,帧率不稳定,可能高也可能低,不稳定,如下图 对于用户来说,稳定的帧率才是好的体验,比如你玩王者荣耀,相…
面试官:今日头条启动很快,你觉得可能是做了哪些优化?
网上关于启动优化的文章多不胜数,内容千篇一律,大都是列举一些耗时操作,采用异步加载、懒加载等。 而在面试过程中,关于启动优化的问题,如果只是很表面地回答耗时操作应该放在子线程,显然太过于普通,无法跟竞争者拉开差距。如何让面试官知道你的“内功深厚”,那肯定是要往原理层面去回答。 …
ASCII码 和 Base64编码
ASCII码(American Standard Code for Information Interchange, 美国信息互换标准代码) 是基于拉丁字母的一套电脑编码系统, 是现今最通用的单字节编码系统. ASCII码可以用来表示大小写英文字母以及部分字符和控制符, 但是中…
求求你们不要再问HashMap原理了....
相信大多数朋友都使用过HashMap,面试也经常会被问到,但往往都回答的都不尽人意,确实,HashMap还算是比较复杂的一个数据结构,尤其是在JDK1.8之后又引入了红黑树之后。本文就基于JDK1.8的HashMap源码,带大家将常用方法、重要属性及相关方法进行分析,HashM…