Android进阶
skytoby
微信公众号:Skytoby 个人博客:https://skytoby.github.io/
展开
-
Android Framework学习总结
经过一段时间的学习,对于Android Framework大部分有一定的了解,现在将之前的学习进行总结并分类。1.Android系统启动相关Android系统SystemServer启动(上)Android系统SystemServer启动(下)开机广播BOOT_COMPLETED发送流程分析Android OTA升级流程分析2.Binder机制相关深入理解Binder机制1-AIDL原理深入理解Binder机制2-注册服务addService深入理解Binder机制3-获取服务getSer原创 2020-07-31 09:57:15 · 739 阅读 · 0 评论 -
Android刷新机制-View绘制原理
Android刷新机制-View绘制原理Android刷新机制-SurfaceFlinger原理Android刷新机制-Choreographer原理一、概述本文将从startActivity开始讲解Android屏幕刷新机制,前面的文章有分析过startActivity的启动过程,这里将重点分析WMS相关的过程,从而了解Android屏幕刷新机制原理。前面介绍的startActivity启动过程的流程图如下:二、View的绘制过程从启动过程中的performLaunchActivity开始分原创 2020-07-29 17:23:10 · 1229 阅读 · 0 评论 -
深入理解Binder机制4-bindService过程分析
一、概述1.1 Binder架构Android内核基于Linux系统,而Linux系统进程间通信方式有很多,如管道,共g享内存,信号,信号量,消息队列,套接字。而Android为什么要用binder进行进程间的通信,这里引用gityuan在知乎上的回答:(1)从性能的角度数据拷贝次数Binder数据拷贝只需要一次,而管道,消息队列,Socket都需要二次,但共享内存连一次拷贝都不需要;从性...原创 2020-03-24 15:38:56 · 2145 阅读 · 0 评论 -
深入理解Binder机制1-AIDL原理
Binder作为Android系统中重要的进程间通信方式,了解其基本的原理,对于分析问题具有重要的作用。由于Binder架构涉及的内容比较多,后面将会从应用层、框架层、Native层、内核层四个层次来说明Binder的原理。首先将从应用层的AIDL开始逐渐深入到内核层。整个系列的文章如下:深入理解Binder机制1-AIDL原理深入理解Binder机制2-注册服务addService深入理解...原创 2020-03-24 15:31:35 · 698 阅读 · 0 评论 -
Android10.0 四大组件与进程启动间关系
原文地址:https://skytoby.github.io/2019/Android%E5%9B%9B%E5%A4%A7%E7%BB%84%E4%BB%B6%E4%B8%8E%E8%BF%9B%E7%A8%8B%E5%90%AF%E5%8A%A8%E9%97%B4%E5%85%B3%E7%B3%BB/基于Android10.0,分析四大组件与进程启动间的关系一、概述Android进程对...原创 2020-01-05 19:47:54 · 1584 阅读 · 0 评论 -
Android10.0 开机广播BOOT_COMPLETED发送流程分析
原文地址:https://skytoby.github.io/2019/%E5%BC%80%E6%9C%BA%E5%B9%BF%E6%92%ADBOOT_COMPLETED%E5%8F%91%E9%80%81%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/基于Android10.0,分析BOOT_COMPLETED的发送流程一、概述开机广播在很多应用中都会用到,...原创 2020-01-05 19:43:52 · 9897 阅读 · 0 评论 -
Android10.0 ContentProvider原理分析
原文地址:https://skytoby.github.io/2019/ContentProvider%E5%8E%9F%E7%90%86%E5%88%86%E6%9E%90/基于Android10.0,分析ContentProvider原理一、概述ContentProvider用于提供数据的统一访问格式,封装具体的实现。对于数据的使用无需知道是数据库、文件、网络,只需要使用Conten...原创 2020-01-05 19:35:58 · 2511 阅读 · 0 评论 -
Android10.0 startService启动过程
原文地址:https://skytoby.github.io/2019/startService%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B/基于Android10.0,分析startService的启动过程一、概述前面已经介绍了详细介绍了管理Android四大剑客Activity、Service、Broadcast、ContentProvider的Activ...原创 2020-01-05 19:25:47 · 2730 阅读 · 0 评论 -
Android10.0 startActivity启动过程
原文地址:https://skytoby.github.io/2019/startActivity%E5%90%AF%E5%8A%A8%E8%BF%87%E7%A8%8B/基于Android10.0,分析startActivity的启动过程一、概述startActivity的整体流程和startService相近,启动后都是通过AMS来完成的。但相比service启动更加复杂,多了任务栈...原创 2020-01-05 19:17:06 · 3766 阅读 · 2 评论 -
Android10.0 OTA升级流程分析
原文地址:https://skytoby.github.io/2019/Android%20OTA%E5%8D%87%E7%BA%A7%E6%B5%81%E7%A8%8B%E5%88%86%E6%9E%90/一、概述目前Android系统终端的升级主要是通过无线进行的(FOTA,Firmware Over-The-Air),主要流程是通过无线方式将升级包下载到终端,而后调用系统的升级接口进行升...原创 2019-12-30 19:24:17 · 7724 阅读 · 3 评论 -
Android SystemProperties系统属性分析
原文地址:https://skytoby.github.io/2019/Android%20SystemProperties%E7%B3%BB%E7%BB%9F%E5%B1%9E%E6%80%A7%E5%88%86%E6%9E%90/SystemProperties.set方法可以设置系统属性,通过设置系统属性可以启动一些服务和操作,如关机,重启、uncrypt服务等。下面将分析为什么设置系统属...原创 2019-12-30 19:21:14 · 2654 阅读 · 0 评论 -
Android selinux权限修改
原文地址:https://skytoby.github.io/2019/selinux%E4%BF%AE%E6%94%B9/SELinux权限修改方法一:adb修改SELinuxEnforcing(已打开) Permissive(已关闭)getenforce //获取当前seLinux状态setenforce 1 //打开seLinuxsetenforce 0 //...原创 2019-12-30 19:14:50 · 3212 阅读 · 2 评论 -
Android开发高手课笔记--如何打造高质量应用?
前言学习《Android开发高手课》也有一段时间了,确实对技术的提高很有帮助,可以开拓自己的视野。想利用这一段时间好好整理下学习笔记,以便回顾。由于版权问题,后续笔记不再公开,感兴趣可扫二维码参加课程。如何打造高质量应用用户体验和应用质量内存优化,弱网络优化,做高质量的应用远不止这些1.环境越来越复杂 适配屏幕、双卡双待、Android各种机型厂家系统,国外的语言...原创 2019-01-22 08:42:03 · 7268 阅读 · 1 评论 -
深入浅出依赖注入框架Dagger2
目录目录依赖注入依赖注入实现的三种方式1. 构造注入2. 属性注入3. 接口注入Dagger2Dagger2的引入不带Module的Inject方式(Inject+Component)带Module的Inject方式(Inject+Component+Module)Module带参数Scope作用域Qualifier方法Component间依赖的...原创 2018-07-16 20:49:45 · 493 阅读 · 0 评论