admin 管理员组

文章数量: 1184232


2024年3月11日发(作者:汇编指令sto)

定制你自己的桌面--- launcher小觑

launcher也就是我们的Home,可以简单地把它理解为一个简化的linux GUI。作为

一个GUI它首先必须完成它最本分的功能,就是它必须能提供对所有应用程序

(CATEGORY_LAUNCHER)的映射;不过作为一个 GUI,它除了做好本分之外还必须是符

合大众审美的美女(wallpaper);另外还必须具有良好的交互性,没有良好的交互性就像你

对一位美女殷勤了半天,她却直接对无视,那结果是比较糟糕的~~

所谓兵马未动,粮草先行,在了解launcher的细节之前,我们首先需要完成对一些知

识的扫盲。当然这些知识我们都可以在SDK guide大叔那边找到,俺可以很负责任地告诉

大家,如果你把SDK guide大叔的三板斧都学会了,APK你基本就处于无敌状态了,绝

对护甲+10000,最起码基础知识是够了,其他比的就是创意了:

1、必须比较完整地了解APK的4个部件,尤其是Activity,现在可以简单地理解

Activity是一个应用程序的窗口。

2、必须了解UI的那部分内容,这部分内容是比较多的,English一般的我看得是比

较抑郁的,但如果你想设计一个符合自己审美要求的美女或者帅哥是必须得得了解的,不

需要一下能完全理解,但至少出了问题你知道去哪部分查~~

3、Resources那部分内容可以当百科全书查

4、intent那部分内容也是需要了解比较详细的,他是和应用沟通的渠道,大家可以

参考一下小斯大虾写的文档。

5、manifest必须了解,security可以看看

6、Graphic部分的内容是给需要更高品味的GUI设计提供的,虽然它可能主要用在

游戏上面,但我觉得如果要作出够酷的GUI肯定是需要2d,3d引擎的。

7、AppWidget可以作为了解,用的时候再翻阅

各位路过的大虾们肯定被这么多的粮草给直接雷倒了,其实需要我们详细掌握的是1

和2,其他的都可以当作百科全书,但是如果能仔细地看透了那是最好了。

好,万事俱备只欠东风了,我们首先来看看这个Home是在啥时候由谁来启动的。这

部分知识可以跳过,但是理解一下是好的,你可以了解一个APK进程是如何怀胎十月之后

诞生的。可能下面说到的词汇有些生涩,所以建议先看看Android Anatomy and

Linux kernel启动以后会通过App_main进程来初始化android Runtime Java运

行环境,而zygote是android的第一个进程。所有的android的应用以及大部分系统服

务都是通过zygote fork出来的子进程(我现在看到的只有native的service manager不

是由zygote fork出来的)。在system server中启动的若干系统服务中与我们启动进程相

关的就是Acitivity Manager。

当systerm server启动好所有服务以后,系统就进入”system ready”状态,这个

时候Activity Manager就登场了。Activity Manager光看代码行就知道是一个重量级的

服务,它主要管理Activity之间的跳转,以及进程的生命周期。当Activity Manager发现

系统已经启动好以后它就会发出一个intent:


本文标签: 了解 需要 进程