android - onPause()

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android - onPause()相关的知识,希望对你有一定的参考价值。

onPause 用于由一个Activity转到另一个Activity、设备进入休眠状态(屏幕锁住了)、或者有dialog弹出时

onStop 用于不可见的Activity(有对话框弹出时,这时底下的activity仍然可见,所以此时onStop不会被调用)

从下面的日志日志可以看出区别:

1.从FirstActivity跳到SecondActivity时

FirstAcvity ---> onCreate
FirstAcvity --->onStart
FirstAcvity --->onResume
FirstAcvity --->onPause
SecondActivity--->onCreate
SecondActivity--->onStart
SecondActivity--->onResume
FirstAcvity --->onStop

现在给androidMainfest.xml中的SeconedActivity属性加入android:theme="@android:style/Theme.Dialog",则SeconedActivity将以对话框形式出现,不会对FirstAcvity形成遮盖.

  这时的状态输出为:

FirstAcvity ---> onCreate
FirstAcvity --->onStart
FirstAcvity --->onResume
FirstAcvity --->onPause
SecondActivity--->onCreate
SecondActivity--->onStart
SecondActivity--->onResume

这时FirstAcvity比完全遮盖时少调用了onStop方法.

 

以下两种情况下 都只会触发onPause而不会触发onStop

 

1. 一个透明的包含Dialog的Activity 出现

2. 按poweroff锁屏

 

显示一个非activity的Dialog,是不会调用onPause和onStop的,因为此Dialog属于activity

以上是关于android - onPause()的主要内容,如果未能解决你的问题,请参考以下文章

onpause android中使用SharedPreferences存储数据的效果

如何通过覆盖 BackButton 使我的 PhoneGap android 应用程序 onPause?

Android Activity 测试示例具有令人困惑的 OnPause 期望

Android:相当于 onPause 的任务或应用程序

android onPause OnSavedInstance

Android中,弹出对话框会使当前页面的Activity回调onPause吗?