(一)Activity生命周期的七个函数
当一个应用程序启动后,会首先依次调用第一个Activity的onCreate()-->onStart-->onResume方法:
当在第一个Activity中启动第二个Activity时,会依次调用:第一个Activity的onPause()方法-->第二个Activity的onCreate()--OnStart()--onResume()方法-->此时若第二个Activity将第一个Activity完全遮挡住则调用第一个Activity的onStop()方法:
若没有完全遮挡住则不调用第一个Activity的onStop()方法:
当点击返回按钮时,会依次调用第二个Activity的onPause()方法-->第一个Activity的onRestart()--onStart()--onResume()方法-->第二个Activity的onStop()--onDestroy()
方法:
此时若再次启动第二个Activity,则需调用第一个Activity的onPause()方法-->第二个Activity的onCreate()-->onStart()-->onResume()方法-->第一个Activity的onStop()方法
(二)Task的运行过程(A task is a stack of activities:Task是activities的栈,它可以把不同应用程序的Activity组织在一起,增强用户体验)
在同一个应用程序中,activities遵循先进后出,后进先出的原则。
在两种情况下,系统会销毁Activity,一个是Activity调用了finish()方法,另一个是系统资源不够,如系统内存不足等的情况下,系统会自动销毁优先级比较低的Activity。