
Android
文章平均质量分 74
小猿猿笔记
好记性不如烂笔头,便于复习,如有理解错误还请大家帮忙指正。
展开
-
探究字节码文件结构
前言Java之所以可以“一次编译,到处运行”,一是因为JVM针对各种操作系统、平台都进行了定制,二是因为无论在什么平台,都可以编译生成固定格式的字节码(.class文件)供JVM使用。因此,也可以看出字节码对于Java生态的重要性。之所以被称之为字节码,是因为字节码文件由十六进制值组成,而JVM以两个十六进制值为一组,即以字节为单位进行读取。储存字节码的文件再交由运行于不同平台上的JVM虚拟机去读取执行,从而实现一次编写,到处运行的目的。 如今,JVM也不再只支持Java,由此衍生出了许多基于JVM的编程原创 2022-04-16 22:46:51 · 237 阅读 · 0 评论 -
Android Launcher启动过程
开机启动概述:step 1: 上电开机长按power键后引导芯片开始从固化在ROM的预设代码处执行,加载引导程序(BootLoader)到RAM.step 2: BootLoader启动跳转到BootLoader的入口函数,开始执行BootLoader的代码.硬件初始化工作(硬件时钟、手机的主板等)完成初始化uart端口的操作arch_inittarget_initapps_initaboot_init跳转到内核入口函数start_kernel,启动内核.step 3: kerne原创 2022-04-16 22:45:01 · 5284 阅读 · 0 评论 -
glide4核心流程梳理
基本使用https://github.com/bumptech/glide1.简单使用:Glide.with(this).load("http://goo.gl/gEgYUd").into(imageView);2.进阶使用:RequestOptions sharedOptions = new RequestOptions().placeholder(placeholder).fitCenter();Glide.with(fragment).load(myUrl).apply(sharedOpti原创 2022-04-16 22:43:25 · 1509 阅读 · 0 评论 -
SparseArray与ArrayMap
SparseArraySparseArray核心代码两个构造函数默认数组容量10public SparseArray() { this(10);}public SparseArray(int initialCapacity) { if (initialCapacity == 0) { mKeys = EmptyArray.INT; mValues = EmptyArray.OBJECT; } else { mValues = A原创 2022-04-16 22:40:48 · 2022 阅读 · 0 评论 -
Android消息机制-Java层梳理
概述分析基于android12源码Android 系统两大核心机制 Binder机制和消息机制消息系统涉及的核心类Handler、Looper、Message、MessageQueueAndroid的系统组件启动、输入、UI刷新都需要通过消息机制来实现,某种意义上讲Android是由消息系统来驱动通过传送带机制来理解Message:消息结构体携带数据和属性 <传送带上的包裹>;MessageQueue:消息队列的主要功能向消息池投递消息(MessageQueue.enqueueM原创 2022-04-16 22:37:29 · 1290 阅读 · 0 评论