1 activity的生命周期简单说明

首先上官网图片:

//activity不同状态有不同的回调:
public class ExampleActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);//  activity 开始创建   ,利用setContentView设置视图}@Overrideprotected void onStart() {super.onStart();//  activity 变得可见,用户可见之前调用}@Overrideprotected void onResume() {super.onResume();//  activity 已经可见,此时activity处于 Activity 堆栈的顶层,并具有用户输入焦点}@Overrideprotected void onPause() {super.onPause();// 当前activity的焦点被抢占    // 当系统即将开始继续另一个 Activity 时调用。 此方法通常用于确认对持久性数据的未保存更改、停止动画以及其他可能消耗 CPU 的内容,诸如此类。 它应该非常迅速地执行所需操作,因为它返回后,下一个 Activity 才能继续执行。这句话深层的意思就是,你可以在这里保存数据,但是时间不能过长否则会影响下一个activity的启动}@Overrideprotected void onStop() {super.onStop();// activity已经不可见    //如果 Activity 被销毁,或另一个 Activity(一个现有 Activity 或新 Activity)继续执行并将其覆盖,就可能发生这种情况。
}@Overrideprotected void onRestart(){super.onRestart();//activity停止后再次启动,在 Activity 已停止并即将再次启动前调用。
//始终后接 onStart()}@Overrideprotected void onDestroy() {super.onDestroy();//在 Activity 被销毁前调用。这是 Activity 将收到的最后调用。 当 Activity 结束(有人对 Activity 调用了 finish()),或系统为节省空间而暂时销毁该 Activity 实例时,可能会调用它。  //isFinishing() 检查是否activity的进程已经结束, 可能是因为你调用了 finish()或者其他情况. 通常被使用在onPause() 中去判断}
}

2 一些情况activity状态改变

启动activity
oncreate ⇒ onstart ⇒ onresume activity处于运行状态。

activity被覆盖一部分(类似dialog),然后activity全部显示
执行onPause,之后执行onResume

** Home键,隐藏之后重新显示**
onPause ⇒ onStop ⇒ 重新显示 ⇒ onRestart ⇒ onStart () ⇒ onResume

被其他activity覆盖,然后关闭其他activity
onPause ⇒ onStop ⇒ 重新显示 ⇒ onRestart ⇒ onStart () ⇒ onResume

用户退出activity
先调用onPause ⇒ onStop ⇒ onDestroy 退出

activity崩溃后重新启动
oncreate ⇒ onstart ⇒ onresume

3 一些情况分析

1 home键后再次回来onRestart执行吗
会执行onRestart方法。
执行onRestart()方法的场景:

  • home键,然后回来,
  • 打开其他activity然后回来
  • 切换其他应用,然后回来。

2 被dialog和透明主题Activity覆盖情况一样吗
都会只执行onPause,不会执行onStop,activity完全显示会执行onresume

3 一般在哪个函数保存数据:
onPause

4 如何把activity放后台
moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台
5 onNewIntent 调用时机,参数Intent和onCreate中getIntent是一个吗。

透明主题activity和dialog对其他activity生命周期的影响相关推荐

  1. Android Activity的启动模式及对生命周期的影响

    Activity的启动模式 官网解释链接 (tips:在阅读此文章前,应先对Activity生命周期掌握) 在每一个程序的main目录下有一个AndroidManifest.xml文件,这个文件是用来 ...

  2. Activity为singleTask模式时的生命周期

    Activity为singleTask模式时的生命周期 Activity A:android:launchMode="singleTask" Activity B:launchMo ...

  3. Activity学习(一):生命周期

    一. 认识Activity Activity是Android的四大组件之一,那么它是什么呢?如果简单的理解,可以把它当成应用的一个显示的屏幕. Activity类处于android.app包中,继承体 ...

  4. android activity 切换屏幕方向时的生命周期

    1.不设置Activity的Android:configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次 2.设置Activity的android:configCh ...

  5. Activity在旋转屏幕时的生命周期

    一.Activity的生命周期 1.Activity生命周期中的重要方法 (1).onCreate():表示Activity已经被创建.这是Activity生命周期中的第一个方法,Activity生命 ...

  6. Activity、Fragment和Surface的生命周期

    这里首先推荐大家一本Android的学习书籍:<第一行代码>,这本书还是写得非常好的.好了,进入正题,我们先来了解一下Activity.Fragment的的生命周期中经历的几个阶段. Ac ...

  7. activity在屏幕旋转时的生命周期

    ************横竖屏切换不配置************* 07-13 15:30:42.459 3220-3220/fhk.com.mytest E/lifeCycle: onCreate ...

  8. Activity 之生命周期

    Activity 之生命周期 本文内容: 1. Activity 介绍 2. Activity 的生命周期2.1 生命周期图2.2 常见情况下生命周期的回调2.3 关于生命周期常见问题2.4 异常状态 ...

  9. ActivityGroup中的子Activity创建Dialog:android.view.WindowManager$BadTokenException: U

    我们在ActivityGroup或者TabActivity中的子Activity创建Dialog若使用以下的代码 progressDialog = new ProgressDialog(XXX.thi ...

最新文章

  1. html文档使用,使用提供 HTML 文档的过程
  2. guava中的Strings
  3. JAVA里16进制和字节数组互转
  4. Spark源码系列(四)图解作业生命周期
  5. SQL Server - THROW字句对比RAISERROR子句
  6. github随时同步代码_原来用IntelliJ IDEA操作GitHub这么方便啊
  7. LINUX 循环fork()
  8. beego 最新版本_LFA (Linux For All) Build 191111 发布,基于Ubuntu由最新内核支持的新版本...
  9. 基于ricequant线性回归量化交易
  10. 信度spss怎么做_怎么用spss处理信度和效度?
  11. MATLAB中怎么表示对数函数及e
  12. 2.深入解析Javascript异步编程
  13. DELL R630 如何利用IDRAC升级BIOS固件和IDARC
  14. 从dataguard备份的恢复机制
  15. 地图php,php调用google地图
  16. ios工程广告添加:广告sdk、广告中介添加(出海App)
  17. android 强制垃圾回收,Android垃圾回收(GC)
  18. 用Qt在Iinux上开发一个带UI的工业控制系统,应该用C++还是QML
  19. Js 时间间隔计算(间隔天数)
  20. 有关SSL证书的一些事

热门文章

  1. webrtc 状态获取
  2. R7 5700U和R7 4800U 参数对比差距大吗
  3. Android 简介
  4. 如何在AppStore中取消正在审核的App
  5. java程序中的变量_Java中的变量
  6. 计算机网络基础知识小结
  7. 在Eclipse中反编译Class文件的方法
  8. python语言中的注释会不会被执行_老师,你确定注释不会被执行吗?
  9. java启动监听器报错_tomcat启动,监听器错误 Error listenerStart,有人遇到没?
  10. Navicat快捷键及使用技巧