Activity(二)

作者: 爱编程的小火柴 | 来源:发表于2018-08-02 11:21 被阅读0次

    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。

    相关文章

      网友评论

        本文标题:Activity(二)

        本文链接:https://www.haomeiwen.com/subject/csyjvftx.html