这期内容当中小编将会给大家带来有关android Activity启动过程解析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
成都创新互联公司服务项目包括苏仙网站建设、苏仙网站制作、苏仙网页制作以及苏仙网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,苏仙网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到苏仙省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!android的HOMe桌面程序(launcher)是android系统启动的第一个应用程序,其他的应用程序安装后,会在launcher上创建一个快捷图标,我们点击桌面上的快捷图标就会启动相应的app
桌面程序Launcher.java(源码基于4.2.2,我没有下载4.2.2,参考网上源码)
在android4.0\packages\apps\Launcher2\src\com\android\launcher2
当点击一个应用图标时会执行一连串流程
-》Launcher.onClick(View v)单击app图标
-》Launcher.startActivitySafely(v,intent,tag)这里比4.0多的一个参数,可能性能优化吧
-》Launcher.startActivity(v, intent,tag)
-》Activity.startActivity(intent,opts.toBundle())
-》Activity.startActivityForResult(intent,-1,options);
到这里直接跳转到第一个问题上来了(直接分析第一个就可以解决第二个)
第4种方式---长按“Home”键,显示出当前任务列表,从中选择一个启动
流程:
public static final int KEYCODE_HOME = 3; PhoneWindowManager.interceptKeyBeforeDispatching()处理长按home事件 showRecentAppsDialog();//弹出近期任务的对话框 RecentApplicationsDialog.onclick.getContext().startActivity(intent);//到这里流程就相同了