Launcher启动流程&&加载流程学习

本文详细介绍了Android系统Launcher的启动流程和加载过程。从SystemServer开始,讲解了从系统服务到AMS(ActivityManagerService)的过程,接着分析了如何启动HomeActivity即Launcher。在加载流程部分,探讨了Launcher中的关键类和加载工作,如加载 Workspace 和 Allapps 中的内容。内容涵盖Android.mk文件、AndroidManifest文件以及权限和组件配置。
摘要由CSDN通过智能技术生成

 声明: 图片本来是有的 涉及到有些代码不能示人没有贴上,不过仅文字说也足够了,请广大老爷们自行下载源码参看流程分析阅读。

目录

一、认识Launcher 1

1、功能 1

2、样式 2

3Android.mk文件 3

3AndroidManifest文件 5

①权限: 5

②应用程序组件配置: 6

二、启动流程 7

1.从SystemserverAMS 7

2.将SystemServer进程加到AMS中调度管理 10

3.AMS systemReady过程 11

4.启动HomeActivity 11

三、加载流程 14

1.重要类认识 14

2.流程 15

加载绑定Workspace上的内容 18

加载绑定Allapps中的内容 23

总结 25

 

 

 

 

 

 

 

一、 认识Launcher

1、功能

① LauncherAndroid系统的启动器

② 应用程序的管理器

③ Android系统的桌面

 

 

2、样式

 

 

① 原生Launcher3经典的四种UI模式

 

 

 

Launcher桌面元素的角度来看,组件包括应用程序的快捷方式、文件夹、桌面小部件及相关组件,称这类组件为桌面组件。

 

3Android.mk文件

 

以上我们认识了其从功能到界面的了解,下面就是我们程序员上场的时候了

 

 

LOCAL_MODULE_TAGS := optional

// 编译选项何种模式编译,optional为在任种模式下均可编译(Userengtest三种模式)

LOCAL_SRC_FILES := $(call all-java-files-under, src) \

    $(call all-java-files-under, WallpaperPicker/src) \

$(call all-proto-files-under, protos)

//需要编译的资源文件

LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/WallpaperPicker/res $(LOCAL_PATH)/res

//需要编译的资源文件的路径

LOCAL_PROGUARD_FLAG_FILES := proguard.flags

//用于混淆代码的脚本文件名该处为proguard.flags(出于代码安全考虑的混淆工具可配置)

LOCAL_STATIC_JAVA_LIBRARIES := android-support-v4 android-support-v7-recyclerview

//需要依赖的Java

LOCAL_PROTOC_OPTIMIZE_TYPE := nano

LOCAL_PROTOC_FLAGS := --proto_path=$(LOCAL_PATH)/protos/

LOCAL_AAPT_FLAGS := --auto-add-overlay

//应用程序打包标示变量,设置为自动添加并覆盖

#LOCAL_SDK_VERSION := current

LOCAL_PACKAGE_NAME := Launcher3

LOCAL_PRIVILEGED_MODULE := true

#LOCAL_CERTIFICATE := shared

LOCAL_OVERRIDES_PACKAGES := Home Launcher2

//编译Launcher3Launcher2不会被加入编译系统

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值