Activity启动过程的简单理解

本文详细介绍了Android中Activity的四种启动方式及其背后的工作原理。包括从桌面启动应用、在一个应用内启动另一个Activity、按返回键自动启动上一个界面及通过应用列表选择启动。深入探讨了不同启动模式下Activity生命周期的变化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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,查考点击打开链接

   singletop singletask  执行的话生命周期onNewIntent()---->onResart()------>onStart()----->onResume(),所以要拿intent取数据    不能在oncreate里了。

 

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

第四种情况,就是通过phonewindowmanager这个类,将选择的应用进程置前

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值