• 等级
  • 2364203 访问
  • 208 原创
  • 52 转发
  • 700 排名
  • 1186 评论
  • 1540 获赞

Android输入系统(一)输入事件传递流程和InputManagerService的诞生

关联系列 解析WMS系列 View体系系列 前言 很多同学可能会认为输入系统是不是和View的事件分发有些关联,确实是有些关联,只不过View事件分发只能算是输入系统事件传递的一部分。这个系列讲的输入系统主要是我们不常接触的,但还是需要去了解的那部分。 1. 输入事件传递流程的组成部分 输入系统是外界与Android设备交互的基础,仅凭输入系统是无法完成输入事件传递的,因此需要输入系统和Andro...

2018-12-07 17:56:01

Android包管理机制(五)APK是如何被解析的

关联系列 包管理机制系列 前言 在本系列的前面文章中,我介绍了PackageInstaller的初始化和安装APK过程、PMS处理APK的安装和PMS的创建过程,这些文章中经常会涉及到一个类,那就是PackageParser,它用来在APK的安装过程中解析APK,那么APK是如何被解析的呢?这篇文章会给你答案。 1.引入PackageParser Android世界中有很多包,比如应用程序的AP...

2018-11-20 23:03:48

Android Gradle(三)Groovy快速入门指南

关联系列 Android Gradle系列 前言 在前面我们学习了为什么现在要用Gradle?和Gradle入门前奏两篇文章,对Gradle也有了大概的了解,这篇文章我们接着来学习Groovy的基础,要想学好Gradle,Groovy是必须要掌握的。Groovy仅凭一篇文章是介绍不完的,这里会带大家快速的入门Groovy,讲解Groovy和Java不同的部分,想要更多了解Groovy可以查看Gro...

2018-11-20 23:02:22

寒冬已至?四面楚歌的Android工程师该何去何从

本文首发于 刘望舒的博客 地址:http://liuwangshu.cn/life/android-wheretogo.html 寒冬真的来了吗?可能是吧,因为最近几年每年都说是寒冬,说的真的叫人焦虑。不过互联网的整体环境确实不如前几年,即使不说我想大家也能隐约的感受到了。作为曾经炙手可热的Android工程师,现在面临着以下的问题: 互联网整体环境不乐观 Android开发人员众多但岗位...

2018-11-06 21:01:14

Android进阶二部曲第二部《Android进阶解密》已出版(内含勘误)

独立博客版本请点击这里 Android进阶二部曲第一部《Android进阶之光》介绍 :点击这里 本书源码地址:https://github.com/henrymorgen/android-advanced-decode 为什么写这本书 Android进阶二部曲包括《Android进阶之光》和本书,因此写这本书的原因和《Android进阶之光》有些关联,主要有以下几点: 《Android进阶之...

2018-10-17 12:46:30

Android Gradle(二)Gradle入门前奏

前言 在上一篇文章Android Gradle(一)为什么现在要用Gradle?中,我们学习了常见的构建工具,以及Gradle与这些构建工具相比有那些不同的特性。这一篇文章我们接着来学习Gradle入门需要掌握的知识,包括配置环境、实现Hello World、Gradle的任务、Gradle日志和Gradle命令行,掌握这些能够更好的理解Gradle。 1.配置Gradle环境 安装Gradle...

2018-10-04 17:44:51

8月25日技术大会演讲感想

前言 为了准备参加这次大会,我公号停更了一周,现在利用晚上时间来简单谈谈我参加这次技术大会的几点感想。 1.台上半小时,台下半年功 本来是要讲半小时的,但是前面的讲师超时了半个多小时,为了不延后大会的时间,所以我就讲了20分钟。 这次演讲的PPT虽然只花了一个星期,但是涉及的内容都是通过半年多来积攒下来的,如果没有这个积累,根本写不出演讲的PPT。这也告诉我们平常就要做好积累,...

2018-09-15 14:42:51

Android Gradle(一)为什么现在要用Gradle?

前言 又要开启一个新系列了,这个系列我们来学习Gradle,它是一个基于JVM的新一代构建工具,关于Gradle完全可以写一本书,这个系列会针对Android开发来对Gradle的知识进行精简讲解。Gradle目前已经应用于多个Android开发的技术体系中,比如构建系统、插件化、热修复和组件化等等,如果你不了解Gradle,那么你对于上述技术体系的了解会大打折扣。为了让大家能够更好的学习Gra...

2018-08-21 13:45:17

Android包管理机制(四)PMS的创建过程

相关文章 Android包管理机制系列 前言 PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类似的,可以将它们进行对比,这样可以更好的理解和记忆这一知识点。 1. SyetemServer处理部分 PMS是在SyetemServer进程中被创建的,SyetemServe...

2018-08-21 13:43:24

Android包管理机制(三)PMS处理APK的安装

相关文章 Android包管理机制系列 前言 在上一篇文章Android包管理机制(二)PackageInstaller安装APK中,我们学习了PackageInstaller是如何安装APK的,最后会将APK的信息交由PMS处理。那么PMS是如何处理的呢?这篇文章会给你答案。 1.PackageHandler处理安装消息 APK的信息交由PMS后,PMS通过向PackageHa...

2018-07-31 21:33:18

Android包管理机制(二)PackageInstaller安装APK

前言 在本系列上一篇文章Android包管理机制(一)PackageInstaller的初始化中我们学习了PackageInstaller是如何初始化的,这一篇文章我们接着学习PackageInstaller是如何安装APK的。本系列文章的源码基于Android8.0。 1.PackageInstaller中的处理 紧接着上一篇的内容,在PackageInstallerActivit...

2018-07-13 01:35:05

Android领域的巴萨队征召队员

独立博客版本请点击这里 目前我的知识星球已经开了一个月了,目前发展的很不错:星球成员210+人,主题160+,问答70+,精华18,可以看出这是一个非常活跃的星球。不论你是否想要加入我们,我都建议你阅读下本文。 什么是知识星球 知识星球是一个拥有共同话题、目标的人在一起使用的朋友圈,这里没有广告,纯粹用于交流,最终形成知识沉淀的平台。 我开知识星球的初衷 将个人的力量裂变成一个...

2018-06-29 01:14:18

Android包管理机制(一) PackageInstaller的初始化

前言 包管理机制是Android中的重要机制,是应用开发和系统开发需要掌握的知识点之一。 包指的是Apk、jar和so文件等等,它们被加载到Android内存中,由一个包转变成可执行的代码,这就需要一个机制来进行包的加载、解析、管理等操作,这就是包管理机制。包管理机制由许多类一起组成,其中核心为PackageManagerService(PMS),它负责对包进行管理,如果直接讲PMS会比较难以...

2018-06-19 16:45:46

Android插件化原理(一)Activity插件化

相关文章 Android深入四大组件系列 Android解析AMS系列 Android解析ClassLoader系列 前言 四大组件的插件化是插件化技术的核心知识点,而Activity插件化更是重中之重,Activity插件化主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。反射实现会对性能有所影响,主流的插件化框架没有采用此方式,关于接口实现可以阅读dynamic-l...

2018-06-04 22:45:38

《Android进阶之光》续作内容简介

《Android进阶之光》续作的书名现在还没有定,目前已经完稿,预计会在9月出版。本书基于Android8.0,理念和《Android开发艺术探索》相近,是将源码和应用开发相结合并融会贯通。本书共分为17章从三个方面来组织内容。 1. 介绍Android应用开发所需要掌握的系统源码知识,包括系统和进程启动过程、四大组件工作过程、上下文Context、AMS、WMS。 2. 介绍热修复和...

2018-05-15 16:49:44

我是如何写出一本畅销技术书的

如何写技术文章已经有很多人写过了,这里我来讲一下如何写一本畅销书,以及成为畅销书作者后发生的事。 1.阻碍写书的关键点 很多人都想写书,也想了很久,就是事没成,最主要就是没有迈出第一步,阻碍迈出第一步的原因主要有三点,分别是担忧、动机和积累。 写书前一般会有以下担忧: 1. 卖不出去 2. 被差评 3. 半途而废 4. 时间投入过多,回报太少 其实这些都是多余的担忧,因为你不去...

2018-04-03 20:30:50

Android热修复原理(一)热修复框架对比和代码修复

相关文章 解析ClassLoader系列 前言 在Android应用开发中,热修复技术被越来越多的开发者所使用,也出现了很多热修复框架,比如:AndFix、Tinker、Dexposed和Nuwa等等。如果只是会这些热修复框架的使用那意义并不大,我们还需要了解它们的原理,这样不管热修复框架如何变化,只要基本原理不变,我们就可以很快的掌握它们。这一个系列不会对某些热修复框架源码进行解析,...

2018-03-12 01:20:29

Android解析WindowManagerService(三)Window的删除过程

相关文章 Android系统启动系列 Android深入四大组件系列 Android应用进程启动过程系列 Android解析WindowManager系列 前言 在本系列文章中,我提到过:Window的操作分为两大部分,一部分是WindowManager处理部分,另一部分是WMS处理部分,Window的删除过程也不例外,本篇文章会介绍Window的删除过程,包括了两大处理部分的内容

2018-01-22 22:36:09

2017~2018 问心无愧,执意前行

2017年问心无愧 2017年工作中的我并没有太多成长,做需求、改bug,没有什么好说的。而在工作之余我所做的事才是我要说的,在2017年我主要做了两个值得说的事,一个是创建了我的个人独立博客,一个是《Android进阶之光》的出版。 个人博客是我花了2个通宵搞定的,中间花了很多时间改进,博客建立9个月访问量达到了27W,虽然和我的CSDN博客访问量没法比,但是增速还是可以的。《Android

2018-01-11 22:35:15

Android深入四大组件(七)Android8.0 根Activity启动过程(后篇)

当我开始阅读Android 8.0源码时发现应用程序(根Activity)启动过程照Android 7.0有了一些变化,因此又写下了本篇文章,本篇文章照此前的文章不仅流程发生变化,而且增加了一些分析,算是升级版本。由于篇幅较长,Android8.0 根Activity启动过程仍旧分为前篇和后篇来进行讲解。

2017-12-18 12:17:36

博客专家

刘望舒

Android进阶二部曲《Android进阶之光》 《Android进阶解密》作者 ...展开 收起
关注
  • 互联网·电子商务/移动端Leader
  • 中国 北京 朝阳区
奖章
  • 博客专家
  • 专栏达人
  • 持之以恒