zoukankan      html  css  js  c++  java
  • 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属性

  • 相关阅读:
    第一道题:无头苍蝇装头术(望不吝赐教)
    jdk8 list是否包含某值的一些应用
    Failed to close server connection after message failures; nested exception is javax.mail.MessagingException: Can't send command to SMTP host
    itext pdf加密
    TiDB-禁用遥测功能
    TiDB-配置调整
    DM-表空间
    DM-INI参数配置
    DM-DSC集群配置
    PG-并行查询
  • 原文地址:https://www.cnblogs.com/riskyer/p/3262712.html
Copyright © 2011-2022 走看看