articles
articles copied to clipboard
我的原创文章,包括且不限于技术 blog,历史,文学写作,日常心得等
**目录** - **1 一些基本概念** - **2 传统标准适配难题** - **3 基于宽度的屏幕适配原则** ### 1 一些基本概念[Top] - **ppi**:pixels per inch,即物理设备每英寸的像素数。计算公式为: ``` ppi = sqrt(width² + height²) / 屏幕尺寸(inch) ``` 为什么一定要计算出屏幕斜线的像素数呢?因为手机的屏幕尺寸指的就是手机屏幕斜线的长度(单位:英寸)。所以,理论上来说,如果知道屏幕宽度的尺寸,也可以直接通过 `ppi = width...
**目录** - **1 Java 类加载过程** - **2 类加载的双亲委派模式** - **2 Android 类加载机制** * 3.1 Android 基本类预加载 * 3.2 Android 类加载器层级及各类加载器原理分析 * 3.3 破坏 Android 基本类安全 ### 1 Java 类加载过程[Top] 通常,一个...
**目录** - **1 进程间通信之共享内存** * 1.1 什么是虚拟内存 * 1.2 什么是内存共享 * 1.3 基于 mmap 实现的内存共享 - **2 Linux POSIX 共享内存接口 shm_open** * 2.1 tmpfs 临时文件系统 - **3 Android ashmem 共享内存原理**...
**目录** - **1 解决的问题** - **2 Myers贪心策略** * 2.1 编辑图 * 2.2 公共轨迹 snake 和轨迹偏移 k * 2.3 两条引理 * 2.4 具体实现 - **3 基于分治策略的改进——线性空间复杂度** * 3.1 引理3 * 3.2...
**目录** - **1 触摸事件分发对象** - **2 View 事件分发策略** * 2.1 事件和操作 * 2.2 ViewGroup 对事件的处理 * 2.3 普通 View 对事件的处理 - **3 Android 触摸事件分发策略是一种责任链模式** ### 1 触摸事件分发对象[Top] 手机的本质是一台计算机,所以我们在讨论触摸事件的时候,就应该认识到手机屏幕实际上就是外部输入设备。这和台式机的鼠标和键盘并无二致,而触摸事件就是一个输入事件。 一个触摸输入事件一般经由手机屏幕(硬件)-> 驱动程序...
**目录** - **1 一个帧的构成** - **2 窗口的表示——Surface** - **3 帧合成服务——SurfaceFlinger** - **4 窗口缓冲队列——BufferQueue** - **5 两个重要的 HAL 模块——Gralloc 和 HWC** - **6 显示系统各组件交互流程** ### 1 一个帧的构成[Top] 当我们点亮手机屏幕,看到的某一时刻的全屏画面就是一个 **帧**。 从微观来讲,一个帧的构成就是一个个的像素值,所以理论上来讲,最简单的办法就是由一个进程或服务搜集一屏画面的所有图像数据构成一帧即可。但是通常情况下一个全屏界面是由不同的进程来提供的,如图所示:  中已有详细总结。 SSL采用了非对称加密与对称加密相混合的方式来通信,用非对称加密完成握手,用对称加密进行握手后的会话。概括来说: - **用非对称加密验证通信双方或服务方的证书**; - **用非对称加密交换通信双方的随机数用于生成共享密钥**; - **用生成的共享密钥以对称加密的方式进行握手后的会话**。 ### 2 SSL 握手过程 SSL 握手的关键流程如下,通信过程中携带的诸如 SSL 版本信息等非关键信息已经用其它代替:  要点如下: - 假设 ***```Alice```***...
**目录** - **1 什么是framebuffer** - **2 VSync 和 多缓冲** * 2.1 屏幕刷新频率 * 2.2 同步生成帧和显示帧——Vsync和双缓冲 * 2.3 帧率超过 16ms——三缓冲 * 2.4 四缓冲有用么 * 2.5 丢帧真的是丢弃了帧吗 - **3 多缓冲的实现原理** * 3.1...