白驹过隙

Android

Android之视图架构

LayoutInflater: https://blog.csdn.net/guolin_blog/article/details/121889703 LayoutInflater 将一个xml布局转换成一个View对象的过程主要包含两步: 通过解析器来将xml文件中的内容解析出来。 使用反射将解析出来的元素创建成View对象。 public View inflate(int resource, @Nullable ViewGroup root, boolean attachToRoot) { … } 如果我们将inflate()方法的第三个参数传入true,那么就会直接将inflate出来的布局添加到父布局当中。这样后面再次addView的时候就会发现它已经有一个父布局了,从而抛出RuntimeException的崩溃信息。

Understand How View Renders in Android

From: https://medium.com/better-programming/understand-how-view-renders-in-android-763f0adfb95c In this article, we’re going to see an overview of how the view we created in XML gets rendered on the screen in pixels. Making a great-performing app is only possible by knowing what’s going under the hood. If you don’t know what the hardware is doing, you have a chance of using […]

工具库集锦

Save State: 自动恢复 Activity、Fragment 以及 View 的状态。无需任何类似 onSaveInstanceState 以及 onRestoreInstanceState 的模板代码;https://github.com/PrototypeZ/SaveState/blob/master/README_zh.md MangoIPC: 一个简单可靠的基于Android应用的跨进程通信框架在这里,可使用框架提供的RemoteService作为服务端,也可自定义Service,使用简单,与业务解耦; https://github.com/Mangosir/MangoIPC

使用 Android Studio 阅读 AOSP 源码

阅读前 AOSP 的准备 开始之前我们先为 AOSP 生成 IDEA 工程文件,便于稍后在 Android Studio 中载入。 1. 为 AOSP 生成 Android Studio 工程配置文件 cd /Volumes/AOSP # 设置 AOSP 编译所需的环境变量 source build/envsetup.sh # 使用 idegen.sh 脚本生成 IDEA 工程文件 development/tools/idegen/idegen.sh ——————————- Read excludes: 4ms Traversed tree: 68826ms 稍等片刻,即可在 AOSP 目录下看到生成的 android.iml 和 android.ipr,其中 iml 文件 表示 information of modules, 用来描述 AOSP 的模块信息。ipr […]

Scroll to top