在后台进行的活动与变得不可见的活动之间有什么区别?

时间:2014-08-25 06:21:46

标签: android activity-lifecycle

我是android的新手。我已经知道当一些其他活动进入前台时会调用onPause()方法,而当活动不再可见时调用onStop()方法。有人请解释一下&#39 ; s在背景中的变化与变得不可见之间给出了一些实际的例子。

3 个答案:

答案 0 :(得分:0)

最好的例子?弹出窗口,您的活动仍然可见,因此只调用onPause()。变得不可见是在启动另一个活动时,应用程序被发送到后台,用户切换到另一个应用程序等。

答案 1 :(得分:0)

考虑两个案例

<强> 1。将活动B调用为对话框

在这种情况下,Activty A的某些部分将可见。因此,只有onPause()方法会被调用活动A.当你从活动B回到A时,活动A的onResume()将被调用。

2.将活动B称为正常活动

在这种情况下,Activity A将完全不可见,因此onPause()onStop()都会被调用。当你从活动B回到A时,将调用活动A的onRestart(), onStart() and onResume()方法。


看看

案例1:如果您呼叫正常活动。 (这将隐藏来电者活动)

onPause()
onStop()
<------- Back to caller
onRestart()
onStart()
onResume()

案例2:如果您将对话活动称为活动。 (这将部分隐藏来电者活动)

onPause()
<------- Back to caller
onResume()

答案 2 :(得分:0)

每当在任何活动上出现一个对话框时,活动的onPause()被调用,此活动保持堆栈中的第一个位置(顶部),另一方面,每当我们将活动从一个活动切换到另一个活动时## 39; s调用Stop()方法,有时会自动收集垃圾。