关闭

Activity State Changes

标签: androidactivity状态变化
179人阅读 评论(0) 收藏 举报
分类:

Activity State Changes

用户触发或者系统触发的不同事件,可以导致Activity从一个状态转换到另一种状态,本文档描述通用的转换,以及如何处理这些转换。

Configuration change occurs

有许多事件可以触发配置的改变,最突出的例子就是,portrait和landscape orientations。其他的比如语言和输入设备。

当配置发生改变,Activity会销毁并重新创建,如果想保存Activity状态的话需要重写onSaveInstanceState()方法保存数据,并在onCreate()或者onRestoreInstanceState()方法重新恢复应用状态。

Handling multi-window cases

当应用程序进入多窗口模式,在Android7.0(API24)及更高版本中可用,系统会通知当前运行的Activity配置更改,从而进行上述生命周期转换。如果已经处于多窗口模式的应用程序以调整大小,则也会发生此类行为。你的Activity可以自己处理配置更改,或者可以允许系统销毁Activity并使用新的维度重新创建。在多窗口模式下,尽管用户可以看到两个应用程序,但只有用户交互的应用程序处于前台并具有焦点。该Activity处于onResume()状态,而另一个窗口中的应用程序处于onPause()状态。 当用户从应用A切换到应用程序B时,系统会在app A上调用onPause() 和在app B上调用onResume(),当用户在应用之间切换时,会在这两种方法之间切换。

Activity or dialog appears in foreground

当一个新的Activity或者dialog 出现前台,获得焦点并部分覆盖正在运行的Activity。被覆盖的activity失去焦点并调用onPause()方法。当他回到前台并且重新获得焦点则系统会掉用onResume()方法。如果新的activity完全覆盖正在运行的activity,则被覆盖的activity会调用onPause()和onResume()方法。

当被覆盖的activity重新恢复到前台,系统会依次调用onRestart(),onStart(),以及onResume()方法。如果被覆盖的activity在回到前台时,创建新的实例,则该新的activity不再调用onReStart()方法,而是直接调用onStart(),onResume()方法。

备注:但用户点击home键,系统的动作就像完全覆盖正在运行的activity一样。

User taps Back button

如果activity在前台,用户点击Back 按钮,activity经过onPause()、onStop()以及onDestory()方法,出栈并销毁。同时,你也可以重写onBackPressed()方法,比如增加确认对话框,但是要调用super.onPressed()方法。
0
0
查看评论

<android5.0>之View state changes(视图状态改变)

定义了翻转的效果的xml<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/and...
  • u011748648
  • u011748648
  • 2015-11-16 11:26
  • 665

Android Material Design动画 View state changes|视图状态改变

Material Design动画 View state changes|视图状态改变 可以根据View的可绘制状态定义一些可以在附件视图上运行的Animator,可以在具有元素的XML文件中定义.每个动画师都在嵌套的元素中定义 1.定义一个XML资源selector<?xml versi...
  • lengxuechiwu1314
  • lengxuechiwu1314
  • 2017-06-19 17:56
  • 401

AndroidMaterialDesign动画之Animate View State Changes

animate view state changes
  • huyuchaoheaven
  • huyuchaoheaven
  • 2015-07-30 16:17
  • 1018

Ubuntu12.04: 下载,编译Android2.6.29内核goldfish,将新编译的内核和镜像安装至模拟器

下载android goldfish内核源码,然后编译生成zImg,用新生成的内核和编译android4.0.1源码时产生的镜像加载至模拟器,并查看模拟器的内核版本验证是否加载成功。
  • yanzi1225627
  • yanzi1225627
  • 2013-07-12 20:01
  • 4693

编译goldfish2.6.9遇见的问题

goldfish-android-goldfish-2.6.29.tar.gz 下载地址 http://pan.baidu.com/s/1sjry4Q5 密码:47xl arch/arm/configs/goldfish_defconfig:289:warning: overri...
  • JIYILANZHOU
  • JIYILANZHOU
  • 2016-03-04 23:36
  • 668

"ActivityManager(xxxx): Config changes..."引起前端Activity重启(正常生命周期结束,正常生命周期启动)

近期遇到一个问题,设备上新换了一张VPN公网两用电信卡(此卡注册网络比较慢),结果导致主界面重启(由于内部逻辑问题,主界面重启引起系统内部交互时机错误,有些功能未正常启动),程序异常,换别的卡程序又能正常运行。 从log上来看,主界面的onPause(),onStop(),onDestro...
  • u013937277
  • u013937277
  • 2016-07-14 14:15
  • 537

Material Design - View state changes

在 5.0 上 提供了很多动画效果方面的 优化 和 设置 在android5.0(api21)及以上,允许自定义这些动画: 1. Touch feedback 触摸反馈 2. Circular Reveal 圆形显示 3. Activity transitions 过渡动画 4....
  • kongbaidepao
  • kongbaidepao
  • 2015-10-30 10:34
  • 304

Finite State Machine

Contents  [hide]  1 Description2 Components3 C# - FSMSystem.cs4 Example Description This is a Determ...
  • jamesliulyc
  • jamesliulyc
  • 2015-02-09 00:02
  • 938

UIApplicationDelegate Monitoring App State Changes

UIApplicationDelegate 有如下的函数来监视整个应用的状态变化的 – application:willFinishLaunchingWithOptions:– application:didFinishLaunchingWithOptions:–...
  • xzjxylophone
  • xzjxylophone
  • 2013-09-27 16:11
  • 591

UML之活动图(Activity diagram)、状态图(Statechart diagram)

系统建模,需要从系统的结构和行为两个方面来描述,其中系统的行为是通过状态图,活动图,序列图和协作图来描述的。 行为图包括活动图和状态图,是从动态角度描述 活动图是事件流程中涉及到的一系列活动 状态图指的是状态的变迁 什么是活动图 流程图常被用来建立算法模型,使用流程图可以表示一个算...
  • u010924894
  • u010924894
  • 2014-06-21 22:07
  • 2649
    个人资料
    • 访问:1461次
    • 积分:115
    • 等级:
    • 排名:千里之外
    • 原创:10篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档