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

关联系列
Android包管理机制系列

查看更多

分享到 评论

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

关联系列

Android深入四大组件系列
Android解析AMS系列
Android解析ClassLoader系列

前言

四大组件的插件化是插件化技术的核心知识点,而Activity插件化更是重中之重,Activity插件化主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。反射实现会对性能有所影响,主流的插件化框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的源码,这里不做介绍,目前Hook技术实现是主流,因此本篇文章主要介绍Hook技术实现。
Hook技术实现主要有两种解决方案 ,一种是通过Hook IActivityManager来实现,另一种是Hook Instrumentation实现。在讲到这两个解决方案前,我们需要从整体上了解Activity的启动流程。

查看更多

分享到 评论

《Android进阶解密》内容简介

《Android进阶解密》预计会在9月出版。本书基于Android8.0,理念和《Android开发艺术探索》相近,是将源码和应用开发相结合并融会贯通。本书共分为17章从三个方面来组织内容。

查看更多

分享到 评论

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

如何写技术文章已经有很多人写过了,这里我来讲一下如何写一本畅销书,以及成为畅销书作者后发生的事。

查看更多

分享到 评论

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

关联系列
解析ClassLoader系列

前言

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

查看更多

分享到 评论

瞬息万变的技术圈与焦虑的技术人

timg (1)_副本.jpg
过了30岁后的人很多都会感受到一个问题:从大学毕业到迈入30岁其实只是一瞬,感觉没做什么,还没潇洒完,还没耍帅够就听着身边的人开始叫你大叔、大哥了。而30岁后更恐怖,你感觉时间越过越快,职业危机的死神早已悄悄的站在你身后了。

查看更多

分享到 评论

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

timg_副本.jpg
关联系列
Android系统启动系列
Android深入四大组件系列
Android应用进程启动过程系列
Android解析WindowManager系列

前言

在本系列文章中,我提到过:Window的操作分为两大部分,一部分是WindowManager处理部分,另一部分是WMS处理部分,Window的删除过程也不例外,本篇文章会介绍Window的删除过程,包括了两大处理部分的内容。

查看更多

分享到 评论

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

itachi2_副本.jpg

转眼2017年过去了,我也首次写出这种年终总结以及年初展望的文章。

查看更多

分享到 评论

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

冥黄金_副本.jpg
相关文章
Android深入四大组件系列
Android系统启动系列
Android应用程序进程系列
Android深入解析AMS系列

前言

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

查看更多

分享到 评论

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

相关文章
Android深入四大组件系列
Android系统启动系列
Android应用程序进程系列
Android深入解析AMS系列

前言

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

查看更多

分享到 评论

Android解析WindowManagerService(二)WMS的重要成员和Window的添加过程

关联系列
Android系统启动系列
Android深入四大组件系列
Android应用进程启动过程系列
Android解析WindowManager系列

前言

在本系列的上一篇文章中,我们学习了WMS的诞生,WMS被创建后,它的重要的成员有哪些?Window添加过程的WMS部分做了什么呢?这篇文章会给你解答。

查看更多

分享到 评论

Android解析ClassLoader(二)Android中的ClassLoader

关联系列
Java虚拟机系列
Android系统启动系列
Android解析ClassLoader系列

前言

在上一篇文章我们学习了Java的ClassLoader,很多同学会把Java和Android的ClassLoader搞混,甚至会认为Android中的ClassLoader和Java中的ClassLoader是一样的,这显然是不对的。这一篇文章我们就来学习Android中的ClassLoader,来看看它和Java中的ClassLoader有何不同。

查看更多

分享到 评论

Android解析WindowManagerService(一)WMS的诞生

zaizhong.jpg

关联系列
Android系统启动系列
Android深入四大组件系列
Android应用进程启动过程系列
Android解析WindowManager系列

前言

此前我用多篇文章介绍了WindowManager,这个系列我们来介绍WindowManager的管理者WMS,首先我们先来学习WMS是如何产生的。本文源码基于Android 8.0,与Android 7.1.2相比有一个比较直观的变化就是Java FrameWork采用了Lambda表达式。

查看更多

分享到 评论

Android解析ClassLoader(一)Java中的ClassLoader

ai_副本.jpg
关联系列
Java虚拟机系列
Android解析ClassLoader系列

前言

热修复和插件化是目前比较热门的技术,要想更好的掌握它们需要了解ClassLoader,因此也就有了本系列的产生,这一篇我们先来学习Java中的ClassLoader。

查看更多

分享到 评论

Android解析WindowManager(三)Window的添加过程


关联系列
Android系统启动系列
Android深入四大组件系列
Android应用进程启动过程系列
Android解析WindowManager系列

前言

在此前的系列文章中我们学习了WindowManager体系和Window的属性,这一篇我们接着来讲Window的添加过程。建议阅读此篇文章前先阅读本系列的前两篇文章。

查看更多

分享到 评论

Android解析WindowManager(二)Window的属性

关联系列
Android系统启动系列
Android深入四大组件系列
Android解析WindowManager系列

前言

在上一篇文章我们学习了WindowManager体系,了解了Window和WindowManager之间的关系,这一篇我们接着来学习Window的属性。

查看更多

分享到 评论