Activity(二)

Activity用来保存和恢复状态的方法如下:

protected void onSaveInstanceState(Bundle outState)

Activity被系统杀死时调用,如屏幕横竖屏切换Activity被销毁再重建等。

(1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,此方法会被调用;

(2)在用户改变屏幕方向时,此方法会被调用;

(3)在当前Activity跳转到其他Activity或者按Home键回到主屏,自身退居后台时,此方法会被调用。

第一种情况我们无法保证什么时候发生,系统根据资源紧张程度去调度;第二种是屏幕翻转方向时,系统先销毁当前的Activity,然后再重建一个新的,调用此方法时,我们可以保存一些临时数据;第三种情况系统调用此方法是为了保存当前窗口各个View组件的状态。onSaveInstanceState的调用顺序是在onPause之前。

protected void onRestoreInstanceState(Bundle savedInstanceState)

Activity被系统杀死后重新创建时调用,如屏幕横竖屏切换Activity被销毁再重建等。

(1)在Activity被覆盖或退居后台之后,系统资源不足将其杀死,然后用户又回到了此Activity,此方法会被调用;

(2)在用户改变屏幕方向时,重建的过程中,此方法会被调用。

我们可以重写此方法,以便可以恢复一些临时数据。onRestoreInstanceState的调用顺序是在onStart之后。

public void onWindowFocusChanged(boolean hasFocus)

Activity窗口获得或失去焦点时被调用,例如创建时首次呈现在用户面前;当前Activity被其他Activity覆盖;当前Activity转到其他Activity或按Home键回到主屏,自身退居后台;用户退出当前Activity。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 【Android Activity】 什么是 Activity? 四大组件之一,通常一个用户交互界面对应一个 ac...
    Rtia阅读 3,865评论 3 18
  • 大家好,我叫石头 Activity是什么? 相信大家都知道Android中的4大组件(Activity活动,Ser...
    噬魂Miss阅读 1,599评论 3 11
  • 祈请我的高级智慧加持我的能量! 已经很久没有赚钱的动力了,今年二月份开始接触到灵性课程,希望在这里得到成长,但是在...
    yingzhi314阅读 188评论 0 0
  • 儿子上幼儿园大班了,学习的东西也多了,最近在学拼音,刚开始学的少,还能记住几个,后来学的多了就记不住了,到拼读的时...
    写作也幸福阅读 439评论 0 1
  • 雨后的初春 天空如此纯净 清新,亮丽,如明镜般透明 被洗过的青山绿水 轻烟缭绕,仿如隔世之仙境 绿草茵茵,百花争艳...
    双zs阅读 1,901评论 0 2