生命周期方法调用顺序
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();
}
}