摘要: 前言 一直想研究Android完整的启动过程,网上看了不少资料,也看了书上的一些说明,对这些观点有些怀疑,于是自己分析了系统启动的完整过程。从内核启动第一个用户程序init开始说起,直到Home应用的启动,每一步都有源代码展示。希望能解除读者对Android系统启动过程中的困惑,若有什么疑问,欢迎留 阅读全文
posted @ 2016-08-02 16:25 安谧世界 阅读(560) 评论(0) 推荐(0) 编辑
摘要: 本篇主要分析了系统启动阶段包管理服务的启动流程,其中的几个接口在 apk 安装时也会被调用。包管理服务启动时主要做的工作大致有如下几方面: 1. 建立 java 层的 installer 与 c 层的 installd 的 socket 联接,使得在上层的 install,remove,dexopt 阅读全文
posted @ 2016-08-02 15:43 安谧世界 阅读(6939) 评论(1) 推荐(0) 编辑
摘要: 在3.1之后,系统的PackageManager增加了对处于“stopped state”应用的管理,这个stopped和Activity生命周期中的stop状态是完全两码事,包管理器中的stopped state指的是安装后从来没有启动过或者是被用户手动强制停止的应用。这点大家可以到“设置”——> 阅读全文
posted @ 2016-08-02 15:33 安谧世界 阅读(4511) 评论(0) 推荐(0) 编辑
摘要: 我们知道Android是以一个Activity为单位的,但是我们并没有看到一个Activity是怎么开始启动的。今天我 们就从Android的源代码开始讲吧。 ActivityThread: Android的一个apk在打开时,使用到的第一个类就是这个类。我们先来说这个类。等说完这个类就能了解And 阅读全文
posted @ 2016-08-02 15:20 安谧世界 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 将通过一个例子来了解这个标签实际所产生的作用,这样可以更直观的了解<merge/>的用法。 建立一个简单的Layout,其中包含两个Views元素:ImageView和TextView 默认状态下我们将这两个元素放在FrameLayout中。其效果是在主视图中全屏显示一张图片,之后将标题显示在图片上 阅读全文
posted @ 2016-08-02 15:03 安谧世界 阅读(9680) 评论(0) 推荐(1) 编辑