Andrid FrameWork(五)

Android FrameWork (五)

Launcher


知识回顾:

ZygoteInit
Systemserver
binder


定义:

Android系统启动后,最后一个启动的桌面应用,一些地图、短信、电话等应用,launcher启动时由systemserver进行启动。

源码分析:

SystemServer.java
AMS: 开启launcher
ActivityTaskManagerService.java
RootActivityContainer.java:创建一个意图,拿到launcher这个activity
PMS:resolve

总结:

1,在system_service startOtherServices中调用AMS的systemRedy startHomeOnAllDisplays来根据intent(action:action_main,category:intent.categray_home )查找launcher

源码分析:

Launcher.java:

总结:

1,Launcher是由system_server启动的,在startOtherService 中调用了AMS的systenReady ActivityTaskManagerIntent.startHomeOnAllDisplays方法查找我们的launcher
2,Launcher中的onCreate函数来创建LauncherModel , 调用startLoader函数,创建LoadTask 去通过Binder访问到LauncherAppsService的qureyIntentActivitys函数查询
3,LoadTask 回调 onUpdateListener 调用到rebindAdapter对数据进行填充和绑定
4,viewHolder中创建设置点击事件 ItemClickHandler设置tag 为 AppInfo,点击事件中调用startAppShortCutInfoActivity

拓展知识:

1,开机动画是怎么进行加载和播放的?动画怎么退出?
bootanim.rc:
bootanimation_main.cpp:
总结:1,bootanimation_main.cpp:中创建BootAnimation并设置了回调AudioAnimationCallbacks,BootAnimation继承Thread,所以会先执行readyToRun,threadLoop。在readyToRun中创建serface设置纹理,在thread Loop函数中进行资源loadAnimation play Animation在播放的过程中不停的调用checkExit 进行检测,检测属性是 service.bootanim.exit 如果退出就会推出BootAnimation线程
2,在launcher创建完成后执行activityThread的handleResumeActivity会给MessageQueue中插一个idel,会调用都AcitivityTaskManager的activityIdel,执行postFinishBooting函数,调用WMS一个函数SystemProperties.set("service.bootanim.exit","1");将service.bootanim.exit 设置成1就退出了动画播放。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第一章 Android 系统架构 Android系统架构分为五层,从上到下依次是: 应用层 应用框架层 系统运行库...
    纵横Top阅读 842评论 0 0
  • 参照《Android 进阶解密》做的摘要。 Android 系统启动过程 init 进程启动 Linux 内核加载...
    无事可说阅读 697评论 0 1
  • Android的安装和启动比较特别,很多机制和直观感受并不一样,如果这里出现误解,就很难透彻理解App的运行,这里...
    蓝灰_q阅读 7,229评论 1 28
  • Android Studio JNI流程首先在java代码声明本地方法 用到native关键字 本地方法不用去实现...
    MigrationUK阅读 12,069评论 7 123
  • 梳理流程和图形参考Stan_Z的博客:Android图形系统篇总结:https://www.jianshu.com...
    QGv阅读 3,537评论 0 2

友情链接更多精彩内容