Android 应用启动运行流程详解
- 用户点击应用图标,启动应用程序。
- 应用程序启动后,首先会执行 Application 的 onCreate() 方法,初始化应用程序的全局变量、配置等。
- 应用程序会加载 Manifest 文件,解析应用程序的信息,包括权限、组件、服务、广播接收器等。
- 应用程序会创建 ActivityManagerService 进程,用于管理应用程序的 Activity、Service 等组件。
- 应用程序会创建 ActivityThread 线程,用于处理应用程序的消息循环、事件分发等。
- 应用程序会创建一个 Activity,将其显示在屏幕上。
- Activity 会调用 onCreate() 方法,初始化 Activity 的变量、布局等。
- Activity 会调用 onStart() 方法,表示 Activity 已经可见,但没有获得焦点。
- Activity 会调用 onResume() 方法,表示 Activity 已经获得焦点,可以与用户进行交互。
- 如果用户点击了屏幕上的按钮或者菜单项,Activity 会调用相应的回调方法,处理用户的操作。
- 如果 Activity 需要启动其他 Activity 或者 Service,会通过 Intent 对象向系统发送请求。
- 系统会根据 Intent 对象的信息,查找合适的组件,并启动它们。
- 如果启动的是 Activity,会创建新的 Activity 对象,并将其显示在屏幕上。
- 如果启动的是 Service,会创建新的 Service 对象,并在后台执行相应的任务。
- 如果 Activity 被用户关闭,会调用 onPause() 方法、onStop() 方法、onDestroy() 方法,释放 Activity 占用的资源。
- 如果 Service 不再需要执行任务,会调用 onDestroy() 方法,释放 Service 占用的资源。
- 当应用程序退出时,会调用 Application 的 onTerminate() 方法,释放应用程序占用的资源。
原文地址: https://www.cveoy.top/t/topic/kpyj 著作权归作者所有。请勿转载和采集!