activity的onNewIntent()方法执行时机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq77485042/article/details/79493080

当我们在activity的启动模式中设置为栈内唯一时,也就是android:launchMode=”singleTask”或android:launchMode=”signleTop”时,会用到这个方法。

比如说在一个应用中A activity 跳转至 B activity 在跳转至 C activity 然后C做了一定的操作之后再返回A 界面。这样在A activity的启动模式设置为singleTask后。C界面跳转至A界面时,就会去判断栈内是否有改Activity实例,如果有就直接执行A界面的onNewIntent()方法,我们就可以把逻辑处理放在改生命周期方法中,如果没有就会走Activity的oncrate方法去创建实例。

在比如说我们做了一个应用。没个界面都有一个返回至主界面操作的按钮。这样的话我们就给主界面的启动模式设置为android:launchMode=”singleTask”。当用户在任何界面点击返回至主界面的按钮时,就正常的使用Intent去跳转。只不过在栈内存在主界面的实例时,不会执行onCrate()方法而是执行的onNewIntent()方法。这时我们就把操作逻辑放在此处。

需要注意的是,在onCrate()方法中最好也写一份操作逻辑,因为当系统内存不足时,我们的主界面实例已经被系统回收了,还是会去执行onCrate()方法的。

猜你喜欢

转载自blog.csdn.net/qq77485042/article/details/79493080