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

时间: 2024-11-05 13:44:17

android - onPause()的相关文章

Android onPause 和onSaveInstanceState

当用户在开启一个新activity时,当前的activity可能在内存中处于停止状态也可能由于新activity需要更多内存而被系统杀掉了,但不论怎样,当用户在新activity上按返回键时,他希望看到的是原先的activity的界面.原先的activity如果是被重新创建,那么它要恢复到用户最后看到它的样子.那么我们怎么做呢?其实也不难,跟据上一节所述,在onPause()或onStop()或onDestyroy()中保存必要的数据就行了.但是现在google又冒出一个新的东西:onSaveI

Android onPause和onSaveInstanceState的区别

onPause在Activity部分不可见的时候被调用,onSaveInstanceState在需要空出内存给当前Activity的时候执行.onSaveInstanceState有时候在onPause()运行前调用,有时候不(Pre-HONEYCOMB 版本前可能先调用onSaveInstanceState,之后onPause先调用).Android Activity的详细文档在这里. 再来看函数名,onSaveInstanceState,保存的是Activity实例的状态,强调Instanc

android onPause OnSavedInstance

韩梦飞沙  韩亚飞  [email protected]  yue31313  han_meng_fei_sha 活动 的 在暂停时候 这个方法  执行结束后,才会执行 下一个活动的 在创建时候 的那个方法. 不要在 在暂停时候 方法中 做 长时间的工作. 只有在 活动 异常终止的时候 才会调用 在保存实例状态 时候  和 在重置实例状态时候 的 方法  来存储 和 恢复 数据.其他情况不会触发这. 屏幕旋转 活动不重走生命周期, 可以在 清单文件中配置  安卓:配置改变:="方向|屏幕大小&q

Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?

原文:http://www.xuebuyuan.com/1608083.html 最近在研究Activity的启动流程,老罗的blog在看,也找了其它资料学习,也跟过Android4.3的源码, 在跟代码的过程中,突然想到下面的这个问题: 网上太多根据Android开发规范翻译转载的内容,都不是我想要的答案,那就自己分析下. 如下是一段典型的Activity间切换的日志,从AActivity切换到BActivity: 10-17 20:54:42.247: I/com.example.servi

Android Fragment真正意义上的onResume和onPause

Fragment虽然有onResume和onPause的,但是这两个方法是Activity的方法,调用时机也是与Activity相同,和ViewPager搭配使用这个方法就很鸡肋了,根本不是你想要的效果,这里介绍一种方法. 覆写Fragment 的setUserVisibleHint方法即可: @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisible

【起航计划 008】2015 起航计划 Android APIDemo的魔鬼步伐 07 App->Activity->Persistent State 保存状态 SharedPreferences onPause onResume

Android 提供了多种存储数据的方法,其中最简单的是使用Shared Preferences. Shared Preferences 可以存储 Key/value 对,Shared Preferences 支持存取 boolean, float ,long ,integer, string ,最常用的使用Shared Preferences是用来存储一些应用偏好.此外的一个方法是使用onSaveInstanceState(),这是特别用来保存UI 状态的. 此外的一个方法是使用onSaveI

android Gallery2 onPause时候,其背景界面显示黑色

修改: Src/com/android/gallery3d/app/AbstracGalleryActivity.java OnResume()函数约290行 去掉 mGLRootView.setVisibility(View.VISIBLE) 这一行 onPause()函数约315行 去掉 mGLRootView.setVisibility(View.GONE) 这一行

Android onCreate onStart onResume onPause onStop onDestroy

Android中一个Activity一般都需要实现六个函数: onCreate(), onStart(), onResume(),onPause(),onStop(),onDestroy(). onCreate函数:注册你要用到的变量,比如说service,receiver,这些变量是无论你的Activity是在前台还是在后台都能够被响应到的,然后调用上面那个用来初始化的函数初始化布局信息. onStart函数:注册一些变量.这些变量必须在Android Activity类在前台的时候才能够被响

Android读书笔记一:假设当前Activity为A,如果这时用户打开一个新的Activity B,那么B的onResume和A的onPause哪个先执行呢?

问题描述:假设当前Activity为A,如果这时用户打开一个新的Activity B,那么B的onResume和A的onPause哪个先执行呢? GitHub Demo 废话少说,上代码,Activity A : public class AActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS