Activity流程
2016-02-23 09:01:30 0 举报
AI智能生成
Activity是Android应用中的一个核心组件,用于表示用户与应用程序的交互过程。当一个Activity启动时,它会被放入任务栈中,并成为当前任务的焦点。用户可以在Activity中执行各种操作,如输入文本、点击按钮等。当用户完成操作后,可以通过按下返回键或调用finish()方法来关闭Activity。如果用户按下Home键,Activity会被放到后台运行,但不会被销毁。当用户再次打开应用时,之前的Activity会重新进入前台。此外,Activity还可以通过Intent进行通信和数据传递。总之,Activity是Android应用中实现用户交互和数据处理的重要手段。
作者其他创作
大纲/内容
Activity流程
通过MainThread.getAppliactionThread()打开Application,它是一个Binder类
调用Instrumentation的execStartActivity方法,
AMS的startActivity方法
调用 AMS的startActivity
ActivityStackSupervisor的startActivityMayWait
startActivityLocked
startActivityUncheckedLocked
跳到ActivityStack中
ActivityStack中调用resumTopActivityLocked
resumeTopActivityInnerLocked
然后执行ApplicationThread的scheduleLaunchActivity,这过程是远程调用
如果之前的activity还没暂停,要先暂停,方式类似于下面的开启,也是通过H
ApplicationThreadNative是ApplicationThread的父类,就是AIDL生成的文件
AT的scheduleLaunchActivity通过发消息给Handler处理,叫H
handleLaunchActivity
实际调用的是ActivityThread中的handleLaunchActivity
handleLaunchActivity调用
performLaunchActivity
从ActivityClientRecord获取activity的组件信息
通过Instrumentation的newActivity方法使用类加载器创建Activity对象
通过LoadApk的makeAppliaction来尝试创建Application对象,如果存在了就不创建了。
创建ContextImpl对象,并通过Activity的attach来完成window的创建和建立自己与window的关系。
mInstrumentation.callActivityOnCreate来调用OnCreate()方法
0 条评论
回复 删除
下一页