Android中主要是依靠分析系统源码类来做到的,首先我们得找到被Hook的对象,我称之为Hook点;什么样的对象比较好Hook呢?自然是容易找到的对象。什么样的对象容易找到?静态变量和单例;在一个进程之内,静态变量和单例变量是相对不容易发生变化的,因此非常容易定位,而普通的对象则要么无法标志,要么 ...
分类:
其他好文 时间:
2018-02-28 21:38:23
阅读次数:
197
前文简要介绍了Android应用程序的Activity的启动过程。在Android系统中,应用程序是由Activity组成的,因此,应用程序的启动过程实际上就是应用程序中的默认Activity的启动过程,本文将详细分析应用程序框架层的源代码,了解Android应用程序的启动过程。 《Android系 ...
分类:
移动开发 时间:
2018-01-10 11:36:29
阅读次数:
262
在Activity 的启动过程中,调用ActivityThread 的handleResumeActivity 方法时,先得到一个与Activity 关联的PhoneWindow 对象,然后通过PhoneWindow 来获取DecorView。 PhoneWindow.java DecorView ...
分类:
其他好文 时间:
2017-11-10 01:48:07
阅读次数:
174
在Android系统中,一个Activity相应一个应用程序窗体。不论什么一个Activity的启动都是由AMS服务和应用程序进程相互配合来完毕的。AMS服务统一调度系统中全部进程的Activity启动,而每一个Activity的启动过程则由其所属进程来完毕。AMS服务通过realStartActi ...
分类:
移动开发 时间:
2017-04-29 22:13:30
阅读次数:
241
在Activity的启动过程中会执行ActivityThread#performLaunchActivity方法,其中调用Activity#attach。在attach()方法中实例化Activity...
分类:
移动开发 时间:
2017-04-27 15:41:10
阅读次数:
253
此前我们用较长的篇幅来介绍Android应用程序的启动过程(根Activity的启动过程),这一篇我们接着来分析Service的启动过程。建议阅读此篇文章前,请先阅读Android深入四大组件(一)应...
分类:
移动开发 时间:
2017-04-24 13:15:44
阅读次数:
311
从这一篇博客开始,我们将阅读AMS启动一个Activity的代码流程。
自己对Activity的启动过程也不是很了解,这里就初步做一个代码阅读笔记,为以后的迭代打下一个基础。
分类:
移动开发 时间:
2016-12-02 16:25:25
阅读次数:
470
标准如下: 应用启动的过程: 1.桌面点击图标 2.系统为应用创建进程 3.进程创建自己的组件 Activity的启动过程: 首先执行的是onCreate()、onStart()、onResume(),再等View树全部构建完毕,setContentView中的View全部显示结束了,算作是应用完全 ...
分类:
其他好文 时间:
2016-11-29 18:57:19
阅读次数:
176
APK程序的运行过程首先,ActivityThread从main()函数中开始执行,调用prepareMainLooper()为UI线程创建一个消息队列(MessageQueue)。然后创建一个ActivityThread对象,在ActivityThread的初始化代码中会创建一个H(Handler)对象和一个ApplicationThread(Binder)对象。其中Binder负责接收远程AmS...
分类:
其他好文 时间:
2016-05-07 07:56:18
阅读次数:
121
在研究了Activity的启动过程后,我觉得很有必要对Activity的launchMode进行分析一下,因为到目前为止,我发现网上对launchMode的讲解都是通过实例讲解,看完了总是似懂非懂的感觉,并没有根本上理解launchMode的原理。这里我会从源码的角度讲解launchMode。相信大...
分类:
其他好文 时间:
2015-09-06 21:41:10
阅读次数:
258