Android 进阶
文章平均质量分 77
深入理解Android开发
永琪-
做安卓的小弟
展开
-
安卓一些优化点
安卓端一些优化点原创 2022-05-01 11:00:00 · 275 阅读 · 1 评论 -
Android11系统之Launcher启动流程
本文的内容主要是分析安卓系统源码,可能阅读起来会有点枯燥,所以最好可以跟着源码走一遍流程,学习源码没有捷径。本文源码基于Android 11Launcher 进程即 Android 系统桌面,也是一个应用程序,作为应用程序,那么启动过程就少不了AMS(ActivityManagerService),AMS是 Android 系统中最核心的系统服务,几乎所有的APP应用都需要与AMS通信 Launcher 也不例外,本文先分析AMS启动再走到 Launcher 进程。AMS的启动过程从上篇.原创 2022-03-07 14:53:00 · 7722 阅读 · 2 评论 -
Android系统启动流程
文章目录目录前言一、引导程序BootLoader二、Linux内核启动三、init进程启动四、Zygote进程启动五、Android桌面启动总结前言Android系统是怎么启动的?用过手机的都知道长按电源键就可以了,过程可以说很简单,一台手机从按下电源键到显示品牌logo,再到进入系统桌面,整个启动流程就完成了,但这只是我们看到的现象,其背后到底经历了什么呢?本文就来分析下这看似简单的启动流程。一、引导程序BootLoader当电源键按下时引导代码会从预定义的原创 2022-01-13 21:30:00 · 3043 阅读 · 12 评论 -
Handler消息机制(二)
Handler相关的一些面试题handler线程间如何通讯?Handler通信实现的方案实际上是内存共享的方案。ThreadLocalLoople什么时候退出?原创 2021-12-22 00:00:00 · 1830 阅读 · 3 评论 -
Android中Binder IPC机制
Binder IPC机制,学不动也要学原创 2021-12-30 17:18:26 · 3759 阅读 · 22 评论 -
Android虚拟机
1.JVM与DalvikAndroid应用程序运行在Dalvik/ART虚拟机,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。Dalvik虚拟机实则也算是一个Java虚拟机,只不过它执行的不是class文件,而是dex文件。Dalvik虚拟机的指令集是基于寄存器的,Java虚拟机的指令集是基于堆栈的。两者都是解释执行。基于栈的虚拟机栈是内存中的一块连续的存储空间,访问速度比寄存器要慢,每一个运行时的线程,都有一个独立的栈。栈中记录了方法调用的历史,每有一次方法调用,栈中便会多一个栈桢原创 2021-09-29 15:47:08 · 545 阅读 · 0 评论 -
Android事件分发总结
View处理事件逻辑,Viewgroup分发事件逻辑原创 2021-12-09 20:50:20 · 1424 阅读 · 0 评论 -
Handler消息机制(一)
Handler相关知识点都会了吗?原创 2021-12-14 17:24:29 · 1789 阅读 · 0 评论 -
设置Activity在动画过程中渲染页面
通过研究系统源码可以知道,在系统版本大于等于 4.3,小于等于 6.0 之间,ViewRootImpl 在处理 View 绘制的时候,会通过一个布尔变量 mDrawDuringWindowsAnimating 来控制 Window 在执行动画的过程中是否允许进行绘制,该字段默认为 false,我们可以利用反射的方式去手动修改这个属性,提升加载速度/** * 让 activity transition 动画过程中可以正常渲染页面 */fun setDrawDuringWindowsAnimatin原创 2021-10-13 16:54:30 · 247 阅读 · 0 评论