8月25日参加技术大会感想

前言

为了准备参加这次大会,我公号停更了一周,现在利用晚上时间来简单谈谈我参加这次技术大会的几点感想。

查看更多

分享到 评论

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

前言

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

查看更多

分享到 评论

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

相关文章
Android包管理机制系列

前言

PMS的创建过程分为两个部分进行讲解,分别是SyetemServer处理部分和PMS构造方法。其中SyetemServer处理部分和AMS和WMS的创建过程是类似的,可以将它们进行对比,这样可以更好的理解和记忆这一知识点。

查看更多

分享到 评论

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

相关文章
Android包管理机制系列

前言

在上一篇文章Android包管理机制(二)PackageInstaller安装APK中,我们学习了PackageInstaller是如何安装APK的,最后会将APK的信息交由PMS处理。那么PMS是如何处理的呢?这篇文章会给你答案。

查看更多

分享到 评论

Android领域的巴萨队诚召队友

不知不觉我的知识星球已经开了2个月了,目前发展的很不错:星球成员330+人,主题250+,问答130+,精华20+,可以看出这是一个非常活跃的星球。不论你是否想要加入我们,我都建议你阅读下本文。

查看更多

分享到

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

前言

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

查看更多

分享到 评论

程序员如果也能像C罗一样自律和勤奋,必将成为大神

首先我是一个真球迷,巴萨的球迷,最爱梅西。因此我也和大部分巴萨球迷一样讨厌C罗,尤其是他笑的时候感觉有些猥琐,但是经过昨天世界杯的比赛,我对C罗的认识有了改观。

查看更多

分享到 评论

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

前言

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

查看更多

分享到 评论

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启动过程仍旧分为前篇和后篇来进行讲解。

查看更多

分享到 评论