生命周期方法调用顺序

1. 从会话列表界面跳转到信息列表界面。

07-17 17:29:18.718: I/txrjsms(19370): MessageListActivity.onCreate
07-17 17:29:18.969: I/txrjsms(19370): MessageListActivity.onStart
07-17 17:29:18.969: I/txrjsms(19370): MessageListActivity.onResume

2. 点击HOME键。

07-17 17:29:31.531: I/txrjsms(19370): MessageListActivity.onPause
07-17 17:29:32.332: I/txrjsms(19370): MessageListActivity.onStop

3. 再次跳转到信息列表界面。

07-17 17:29:49.450: I/txrjsms(19370): MessageListActivity.onStart
07-17 17:29:49.450: I/txrjsms(19370): MessageListActivity.onResume

4. 按住顶部系统状态栏往下拉,一直拉到底部,将信息列表界面全部挡住,没有调用任何生命周期方法。

5. 再次点击HOME键。

07-17 17:34:23.477: I/txrjsms(19370): MessageListActivity.onPause
07-17 17:34:23.927: I/txrjsms(19370): MessageListActivity.onStop

6. 在桌面中点击应用图标。

07-17 17:34:35.549: I/txrjsms(19370): MessageListActivity.onStart
07-17 17:34:35.549: I/txrjsms(19370): MessageListActivity.onResume

7. 点击BACK按键。

07-17 17:35:33.205: I/txrjsms(19370): MessageListActivity.onPause
07-17 17:35:33.405: I/txrjsms(19370): MessageListActivity.onStop
07-17 17:35:33.405: I/txrjsms(19370): MessageListActivity.onDestroy

8. 在onStop()方法中处理草稿信息。

@Override
protected void onStop() {
    super.onStop();
    onDraftMsgStatusChanged();
    Log.i("txrjsms", "MessageListActivity.onStop");
}

private void onDraftMsgStatusChanged() {
    if(!TextUtils.isEmpty(mEditMsg.getText().toString())){
        if(draftMsg != null) {
            updateDraftMessage();
        } else {
            saveDraftMessage();
        }
    } else {
        removeDraftMessage();
    }
}

生命周期方法调用,以及在onStop()方法中处理草稿信息的更多相关文章

  1. 12、生命周期-@Bean指定初始化和销毁方法

    12.生命周期-@Bean指定初始化和销毁方法 Bean的生命周期:创建->初始化->销毁 容器管理bean的生命周期 我们可以自定义初始方法和销毁方法,容器在bean进行到当期那生命周期 ...

  2. SpringCloud升级之路2020.0.x版-28.OpenFeign的生命周期-进行调用

    本系列代码地址:https://github.com/JoJoTec/spring-cloud-parent 接下来,我们开始分析 OpenFeign 同步环境下的生命周期的第二部分,使用 Synch ...

  3. javaweb学习总结二十一(servlet开发入门、servlet生命周期以及调用过程)

    一:servlet开发入门 servlet是sun公司一门开发动态web资源的技术,下面编写一个servlet入门程序: 1:在tomcat服务器webapps目录下新建firstServlet目录, ...

  4. Cocoa触发方法调用的几种方法

    每日更新关注:http://weibo.com/hanjunqiang  新浪微博 1.SEL触发 SEL就是selector的缩写,它表示Cocoa中的方法选择器,不明白?那请仔细了解Objecti ...

  5. 【java】子类可以通过调用父类的public方法调用父类的private方法,为什么?

    代码1: 打印结果: 代码2: 运行结果: 问题: 代码1中super是父类自己调用自己的add()方法,并在add()方法中调用了私有的del()方法,那为什么打印出来的this是子类? 代码2中t ...

  6. Spring Bean的生命周期,《Spring 实战》书中的官方说法

    连着两天的面试 ,都问到了 Spring 的Bean的生命周期,其中还包括 昨晚一波阿里的电话面试.这里找到了Spring 实战中的官方说法.希望各位要面试的小伙伴记住,以后有可能,或者是有时间 去看 ...

  7. 软件测试生命周期(STLC)的8个阶段的详细信息

    一.演化 ♦1960年代的趋势: ♦1990年代的趋势: ♦2000年代的趋势: 测试的趋势和能力正在发生变化.现在要求测试人员更加注重技术和流程.现在的测试不仅仅局限于发现错误,而且范围更广,从项目 ...

  8. servlet 验证生命周期过程调用方法的次数

    1.书写一个servlet并编译,如: package testservlet; import java.io.IOException;import java.io.PrintWriter; impo ...

  9. vue定义全局方法 调用其他组件的方法

    官网的写法  vue实例.$on就可以在根实例上定义全局方法 this.$root就是获取根实例  如果没有根实例 就表示当前实例 this.$root.$on 不需要.eventHub 不需要下面这 ...

随机推荐

  1. how to fix bug in daily work

    0 QE will begin test the product when system is stable. so they may log a lot of issues, and our dai ...

  2. webAR涉及的技术【转】

    1.技术体系 1.1技术体系整理 其中绿色底色的代表Demo中表现出的能力比较成熟,可以直接应用. 脑图地址:http://naotu.baidu.com/file/3392a895a90397252 ...

  3. [PowerShell Utils] Create a list of virtual machines based on configuration read from a CSV file in Hyper-V

    Hello everyone, this is the third post of the series. .   Background =============== In my solution, ...

  4. iOS开发-View中frame和bounds区别

    开发中调整View的时候的经常会遇到frame和bounds,刚开始看的时候不是很清楚,不过看了一下官方文档,frame是确定视图在父视图中的位置,和本身的大小,bounds确定可以确定子视图在当前视 ...

  5. python对json的操作总结 zz

    Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式.Json最广泛的应用是作为AJAX中web服务器和客户端的通讯的数据格式.现在也常用于h ...

  6. Android -- ADT变化&aar&Lint

    Switch Case switch case 常用的使用方法: switch(v.getId()){ case R.id.btn1: doClick1(); break; } 在ADT中的改变 在正 ...

  7. 根据日期切换图片KFX

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. bash shell seq的用法

    seq 1 3 100 , 表示起始值为1, 间隔为3,终点值为100 #!/bin/bash aa=(1 2 3 17) #for i in 1 2 3 13 for i in ${aa[*]} d ...

  9. Sqlserver 2008 R2安装的盘符空间不够用的解决办法

    例如我把一个sqlserver数据库安装在了D盘,结果发现D盘只剩下20G的可用空间,可是数据却每天的在增长,如何办?于是百度到了以下解决办法 方法很多: 1.可以给primary文件组添加文件.选择 ...

  10. MFC中的KillTimer

    在Dialog中添加一个Timer. 用如下的代码停用一个Timer总是不好用: void CDialog2::OnTimer (UINT TimerVal) { ////////////////// ...