Android中launcher的详细分析

Android中launcher的详细分析

ID:40491778

大小:17.15 KB

页数:10页

时间:2019-08-03

Android中launcher的详细分析_第1页
Android中launcher的详细分析_第2页
Android中launcher的详细分析_第3页
Android中launcher的详细分析_第4页
Android中launcher的详细分析_第5页
资源描述:

《Android中launcher的详细分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Android中launcher的详细分析之前一度为如何判断当前所处的界面就是home主桌面而伤脑筋的,后来找到的方法也不是很理想,由此到现在看了launcher的分析,觉得很有帮助哈~这边给大家分享下哈~~~Linuxkernel启动以后会通过app_main进程来初始化androidRuntimeJava运行环境,而zygote是Android的第一个进程。所有的android的应用以及大部分系统服务都是通过zygotefork出来的子进程(我现在看到的只有native的servicemanager不是zygotefork出来的)。在system

2、server中启动的若干系统服务中与我们启动进程相关的就是AcitivityManager。  当systermserver启动好所有服务以后,系统就进入”systemready”状态,这个时候ActivityManager就登场了。ActivityManager光看代码行就知道是一个重量级的服务,它主要管理Activity之间的跳转,以及进程的生命周期。当ActivityManager发现系统已经启动好以后它就会发出一个intent:java代码:1Intentintent=newIntent(mTopAction,mTopData!=null?U

3、ri.parse(mTopData):null);2intent.setComponent(mTopComponent);3if(mFactoryTest!=SystemServer.FACTORY_TEST_LOW_LEVEL){4intent.addCategory(Intent.CATEGORY_HOME);5}通过这个category类型为home的intent,ActivityManager就会通过:java代码:1startActivityLocked(null,intent,null,null,0,aInfo,null,null,0,0

4、,0,false,false);启动Home进程了。而这个启动Home进程的过程实际上还是去通过zygotefork出的一个子进程。因此只要在manifest中具备这样的intent-filter都可以在开机的时候作为Home启动:java代码:2345

5、ntent.category.DEFAULT"/>6多个home之间的switch会在开始的时候有个选择,至于这个选择好像是packagemanager来实现的,没有仔细研究过。2.UI结构  通过launcher/Res/Layout-land/launcher.xml分析可以得到主屏幕的UI结构:整个homescreen是一个包含三个childview的FrameLayout(com.android.launcher.DragLayer).  第一个child就是桌面com.android.launcher.Wor

6、kspace.这个桌面又包含三个child.每个child就对应一个桌面.这就是你在Android上看到的三个桌面.每个桌面上可以放置下列对象:应用快捷方式,appwidget和folder.  第二个child是一个SlidingDrawer控件,这个控件由两个子控件组成.一个是com.android.launcher.HandleView,就是Android桌面下方的把手,当点击这个把手时,另一个子控件,com.android.launcher.AllAppsGridView就会弹出,这个子控件列出系统中当前安装的所有类型为category.la

7、uncher的Activity.  第三个child是com.android.launcher.DeleteZone.当用户在桌面上长按一个widget时,把手位置就会出现一个垃圾桶形状的控件,就是这个控件.3.应用程序代码分析  由Launcher中的AndroidManifest.xml可以看出整个Launcher的代码结构.首先,是一些权限的声明。例如:java代码:12

8、me="android.permission.EXPAND_STATUS_BAR"/>这部分可以略过;其次,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。