Je pense done je suis

Android View(5)-TouchEvent
## 前言 几年前整理过 Android View 的事件分发机制,但是总有些细节不是很清楚,这次系统梳理一下 Android 的触摸反馈事件:事件分发、单击、双击、长按、滑动等 ## 开始 在开始之前有几个知识点需要提前了解 - 事件分发 `dispatchTouchEve
Android View(4)-Draw
## 前言 Android View 三部曲「策略、布局、绘制」还剩下最后一个步骤,绘制。还是得从 `performDraw` 方法说起 ## 开始 ``` // RootViewImpl.java private void performDraw() {
Android View(3)-Layout
## 前言 在上一篇文章中,分析了测量方法 measure/onMeasure,其实布局方法 layout/onLayout 也是类似的一个原理,下面还是从之前的 `performLayout` 开始分析吧 ## 开始 ``` // ViewRootImpl.java
Android View(2)-Measure
## 前言 之前在分析 Android OS Activity To View 的显示的时候,在第一次加载布局时,最终分析到了 `ViewRootImpl.performTraversals()` 方法会回调 View 生命周期的 `attachToWindow` 等相关方法,`perform
Android OS Framework(3)-ActivityToView
## 前言 前面分析 Android Framework 源码到了 Activity 的启动以及 Activity/Application 等生命周期方法的回调,下面开始分析 Activity 启动后,View 生命周期的调用流程。 在接下来的代码分析中,会遇见一些重要的 UI 相关的类
Android逆向工程
## 目标 破解抖音 so 文件加密的方式,用来实现使用 so 文件来构造 sign 值 ## 时间 2018/05/03-2018/05/17 ## 结果 可通过调试 so 文件,构造 sign 结果,获取接口信息。但直接调用修改后的 so 文件构造结果失败。( so
Android OS Framework(2)-LauncherToActivity
## 前言 本来只是想梳理一下 Android View 的相关知识点,不过由于 Android View 跟 Activity 生命周期紧密相关,因此首先从源码角度理解一下 Activity 及 View 的启动过程。 Activity 虽然有很多启动类型,但却只有两种启动方式:
Android OS Framework(1)-StartToLauncher
## 前言 本来只是想整理一下 Android 自定义 View 相关的具体使用,于是用到了 Android View 的生命周期,可 View 的生命周期又依赖于 Activity,Activity 又依赖于 Android OS 的流程,于是干脆从头分析:从 Android OS 开始启动
Android View(1)-LifeCycle
## 前言 Activity 是有生命周期的,View 也是有自己的生命周期的。 以前一直没有太过关注 View 的生命周期,只是知道几个常用的简单的方法触发机制,这次彻底梳理一下相关知识点。 具体可参考[官方文档](https://developer.android.google
Android布局优化
## 前言 很早以前(15年)整理的,可能有部分已经过时了。 ## 布局优化 - 同层级下,优先使用LinearLayout ## Include 实际上是布局的替换 - 可以让常见布局模块化,使用方法 `右键 -> Refactor -> Extract ->