首页
学习
活动
专区
圈层
工具
发布
综合排序最热优先最新优先
时间不限
【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 )
文章目录 一、Activity 启动源码分析 ( AMS | ActivityManagerService ) 1、Instrumentation 调用 AMS 方法 2、ActivityStarter 调用 AMS 方法 3、Process 启动新进程 二、Activity 启动源码分析 ( ActivityStarter ) 1、ActivityStarter.startActivityMayWait () 方法 2、ActivityStarter.startActivity ( 24 参数 ) 方法 3、ActivityStarter.startActivity ( 23 参数 ) 方法 4、ActivityStarter.startActivity ( 9 参数 ) 方法 5、ActivityStarter.startActivityUnchecked 方法 6、ActivityStarter.computeLaunchingTaskFlags( 方法 , 在 ActivityStarter 中的 startActivityMayWait 中 , 调用了 24 个参数的 startActivity 方法 , class ActivityStarter
韩曙亮
2023-03-29
2.1K0
标签:
Launcher 启动 activity 流程
ActivityManagerService.startActivityAsUser()//execute() 【--->ActivityStarter.java】 ActivityStarter.execute () // ActivityStarter.startActivityMayWait() // ActivityStarter.startActivity() // ActivityStarter.startActivityUnchecked
木子杂志
2020-07-31
1.6K0
标签:
【Android 插件化】Hook 插件化框架 ( 从 Hook 应用角度分析 Activity 启动流程 二 | AMS 进程相关源码 | 主进程相关源码 )
源码分析 /frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java a、obtainStarter 方法分析 调用 ActivityStartController 的 obtainStarter 方法 , 得到的是 ActivityStarter 方法 , Activity 的启动是由该 ActivityStarter It is valid until after * {@link ActivityStarter#execute} is invoked. . */ ActivityStarter obtainStarter(Intent intent, String reason) { return mFactory.obtain ().setIntent(intent).setReason(reason); } } b、execute 方法分析 Activity 启动过程很复杂 , 封装在 ActivityStarter
韩曙亮
2023-03-29
1.2K0
标签:
Android | Activity 启动流程分析
接着调用了obtainStarter ,该方法通过工厂模式创建了 ActivityStarter 对象,如下所示: #ActivityStarter.java static class DefaultFactory //同步池 private SynchronizedPool<ActivityStarter> mStarterPool = new SynchronizedPool<> obtain() { //从同步池中获取 ActivityStarter 对象 ActivityStarter starter = mStarterPool.acquire 对象,该对象创建完成之后,该对象创建完成之后,AMTS 就会将接下来启动 Activity 的操作交给 ActivityStarter 来完成。 #ActivityStarter.java //根据前面传入的参数解析一下必要的信息,并开始启动 Activity int execute() { try { int res;
345
2023-01-30
1.3K0
标签:
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)
return res; } } ActivityStarter是Android 7.0新加入的类,它是加载Activity的控制类,会收集所有的逻辑来决定如何将Intent和Flags转换为 ActivityStarter的startActivityMayWait方法调用了startActivityLocked方法,如下所示。 frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java int startActivityLocked frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java private int startActivity frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java private int startActivity
用户1269200
2018-02-01
1.4K0
标签:
startActivity时序图
lauchModle 检测: ActivityStarter.startActivityUnchecked() 绕过AndroidManifest检测: 瞒天过海:使用代理Activity替换原来的
曾大稳
2018-09-11
1.2K0
标签:
activity的启动流程(二)
It is valid until after * {@link ActivityStarter#execute} is invoked. ().setIntent(intent).setReason(reason); } 跟踪ActivityStarter代码, ActivityStarter这个类看名字就知道它专门负责一个 Activity /** * An interface that to provide {@link ActivityStarter} instances to the controller. * @return an {@link ActivityStarter} */ ActivityStarter obtain(); /** * Recycles a starter for reuse. */ void recycle(ActivityStarter starter
李小白是一只喵
2020-12-16
1.4K0
标签:
Android深入四大组件(一)应用程序启动过程
frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java ? frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java ? frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java ? 接着又调用startActivityUnchecked方法: frameworks/base/services/core/java/com/android/server/am/ActivityStarter.java
用户1269200
2018-02-01
1.7K0
标签:
Android框架简介--Activity--Activity启动
ActivityA startActivity --> startActivityAsUser -- > mActivityStarter.startActivityMayWait 这里会调用到类 ActivityStarter how an intent and flags should be turned into * an activity and associated task and stack. */ class ActivityStarter 从注释上看,我们了解了ActivityStarter的作用是收集所有的逻辑,用来决定如何启动activity, ActivityStarter又通过ActivityStackSupervisor来管理
小蚂蚁与大象
2022-04-02
1.1K0
标签:
SystemUI 开发之通知 Notification 的关键 API(三)
NotificationRemoteInputManager.Callback.class); mShadeController = Dependency.get(ShadeController.class); final ActivityStarter activityStarter = Dependency.get(ActivityStarter.class); // 用于处理通知相关的各种交互,例如点击通知后跳转个某个应用等交互 mCommandQueue, mAssistManager, mNotificationPanel, mPresenter, mEntryManager, mHeadsUpManager, activityStarter
阳仔
2021-12-08
2.3K0
标签:
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档