Activity启动过程的简单理解

Activity启动程序可分为四种情况

    (1)在应用程序中执行startActivity()或startActivityForResult()

    (2)从桌面点击启动

    (3)按返回键自动启动上一个界面

    (4)按home键,从应用列表选取一个

其实activity的启动都离不开栈,栈可以简单理解为一个存放activity的容器

第一种情况,桌面可以理解成一个叫Launcher的应用,我们的应用就是安装在Launcher里,Launcher显示出我们的应用,现在我们点击我们的应用会出现一连串流程,其中参与的类有Launcher,Activity,ActivityManagerService,ActivityThread等,这些类给应用创建一个进程,由于我们在清单文件指定了默认开启的类,所以 接下来就会执行activity的生命周期

第二种情况,在应用程序中由一个activity启动量一个activity这就要看launchMode的设置了,

   启动四种模式:standard、singletop、singletask、singleinstance,查考点击打开链接

第三种情况,当按下返回键时,我们知道执行了finish()的方法,其实ActivityManagerService,ActivityStack也执行了相应的方法,然后从队列中把当前activity销毁,resume下面的activity

扫描二维码关注公众号,回复: 2135956 查看本文章
第四种情况,就是通过phonewindowmanager这个类,将选择的应用进程置前


猜你喜欢

转载自blog.csdn.net/Super_xiaojian/article/details/81013663