• Activity 的生命周期


                 两个大窗口的Activity之间的切换:

                         启动一个新的Activity时,需要依次调用oncreate、onstart、onResume方法,OnCreate方法是在第一次创建Activity的时候调用的,当Activity能被用户看到的时候调用Onstart方法,当用户能获取到焦点的时候调用OnResume方法。

                        从第一个Activity启动第二个Activity时,先调用第一个Activity的OnPause方法(此方法当应用程序启动另一个Activity的时候调用,通常调用之前需要保存当前的数据,便于还原),再调用第二个Activity的OnCreate、Onstart、OnResume方法,最后调用第一个Activity 的OnStop方法(此方法用于当Activity处于不可见的状态,若该窗口并未被完全遮挡(小窗口),则不会调用该方法)。

                       点击Back回到第一个Activity后,调用第二个Activity的OnPause方法,再调用第一个Activity的OnRestart方法,注意此时并不是调用OnCreate方法,因为第一个Activity并未被销毁,接着调用第一个Activity的OnStart、OnResume方法,然后是第二个Activity的OnStop方法,最后是调用OnDestory方法。

                      我搞不明白这时候为什么会调用OnDestory方法,求解释!!!

                     OnDestory方法有两种可能被调用: 1、调用了该Activity的finish方法

                                                                              2、操作系统资源不够用,选择性的销毁不可见的Activity

               若从大窗口切换到小窗口,先调用大窗口的OnPause方法,在调用小窗口的OnCreate、OnStart、OnResume方法,因为并未完全遮住大窗口,因此不调用大窗口的OnStop方法接下来从小窗口切换到大窗口,先调用小窗口的OnPause方法,再调用大窗口的OnResume方法。

               Activity是以栈的形式存放的,先进后出的顺序,小窗口的创建在Manifest.xml中添加android:theme属性

  • 相关阅读:
    Mediawiki 子页链接无效的问题
    变量存储区:堆和栈
    《modern-php》
    HttpApplication处理对象与HttpModule处理模块
    Asp.Net构架(Http请求处理流程)
    Quartz.NET 3.0
    WebApi路由
    RESTful架构
    WCF
    TCP/IP协议
  • 原文地址:https://www.cnblogs.com/riskyer/p/3262712.html
Copyright © 2020-2023  润新知