生命周期方法调用,以及在onStop()方法中处理草稿信息

生命周期方法调用顺序

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();
    }
}

上一篇:js批量上传文件


下一篇:笨鸟先飞之ASP.NET MVC系列之过滤器(04认证过滤器)