温馨提示×

activity的启动流程是什么

小亿
54
2023-12-06 19:14:50
栏目: 编程语言

在Android中,Activity的启动流程大致如下:

  1. 调用startActivity(intent)方法或者startActivityForResult(intent, requestCode)方法来请求启动目标Activity。
  2. 系统会检查目标Activity是否存在,以及当前应用是否具有访问目标Activity的权限。
  3. 如果目标Activity存在并且有权限访问,系统会为该Activity创建一个新的实例,并将其添加到Activity栈中。
  4. 系统会调用目标Activity的onCreate()方法来进行初始化,这个方法会在Activity第一次被创建时调用。
  5. 目标Activity的onCreate()方法完成后,系统会调用onStart()方法,表示Activity正在被启动。
  6. 然后,系统会调用onResume()方法,表示Activity已经可见并且可以与用户进行交互。
  7. 如果启动的是另一个Activity并且需要返回结果,那么当前Activity将会进入onPause()状态,等待返回结果。
  8. 当目标Activity完成其任务后,会调用setResult(resultCode, data)方法将结果返回给调用的Activity。
  9. 返回结果后,目标Activity会调用finish()方法来销毁自身,并将结果返回给调用的Activity。
  10. 调用的Activity会重新进入onResume()状态,并通过onActivityResult()方法获取返回的结果。
  11. 如果启动的是另一个Activity并且不需要返回结果,那么当前Activity将会进入onStop()状态,等待用户再次回到该Activity。
  12. 当用户回退到该Activity时,系统会调用onRestart()方法重新启动该Activity。
  13. 然后,系统会调用onStart()方法和onResume()方法,使Activity重新进入可见并且可交互的状态。

0