activity生命周期
来源:互联网 发布:歌曲音量增大软件 编辑:程序博客网 时间:2024/05/16 15:16
前言:activity生命周期 一个老生常谈的话题,但是没有亲自动手测试过,每次遇到都不是特别的清晰,处于模糊的装填。故
两个activity main second class 布局 在main中添加了两个按钮 一个弹出对话框 和一个跳转的按钮 布局简单 不黏贴了
public class MainActivity extends Activity {String TAG = "MainActivity";private AlertDialog.Builder builder;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);builder = new Builder(this);builder.setTitle("title");builder.setMessage("消息");builder.setCancelable(false);Button btn = (Button) this.findViewById(R.id.button);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubbuilder.create().show();}});Button button = (Button) this.findViewById(R.id.tiaozhuan);button.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stubstartActivity(new Intent(MainActivity.this,SecondActivity.class));}});}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();Log.e(TAG, "onStart");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();Log.e(TAG, "onResume");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();Log.e(TAG, "onPause");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();Log.e(TAG, "onStop");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();Log.e(TAG, "onDestroy");}}second 代码
package com.example.ceshi;import android.os.Bundle;import android.app.Activity;import android.util.Log;import android.view.Menu;public class SecondActivity extends Activity {String TAG = "SecondActivity";@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Log.e(TAG, "onCreate");}@Overrideprotected void onStart() {// TODO Auto-generated method stubsuper.onStart();Log.e(TAG, "onStart");}@Overrideprotected void onResume() {// TODO Auto-generated method stubsuper.onResume();Log.e(TAG, "onResume");}@Overrideprotected void onPause() {// TODO Auto-generated method stubsuper.onPause();Log.e(TAG, "onPause");}@Overrideprotected void onStop() {// TODO Auto-generated method stubsuper.onStop();Log.e(TAG, "onStop");}@Overrideprotected void onDestroy() {// TODO Auto-generated method stubsuper.onDestroy();Log.e(TAG, "onDestroy");}}
当我们点击 弹出对话框的时候是对activity的生命周期没有任何影响的。
当我们点击跳转时候打印如下
07-27 21:36:33.855: E/MainActivity(1848): onPause
07-27 21:36:33.871: E/SecondActivity(1848): onCreate
07-27 21:36:33.871: E/SecondActivity(1848): onStart
07-27 21:36:33.871: E/SecondActivity(1848): onResume
07-27 21:36:34.267: E/MainActivity(1848): onStop
当我们进入第二个activity后按返回按钮打印如下
07-27 21:38:37.119: E/SecondActivity(1848): onPause
07-27 21:38:37.119: E/MainActivity(1848): onStart
07-27 21:38:37.119: E/MainActivity(1848): onResume
07-27 21:38:37.515: E/SecondActivity(1848): onStop
07-27 21:38:37.515: E/SecondActivity(1848): onDestroy
可以看到 返回按钮 会销毁activity的
当我们在第一个activity直接返回主界面 打印如下
07-27 21:40:31.843: E/MainActivity(1848): onPause
07-27 21:40:32.379: E/MainActivity(1848): onStop
再回到主界面
07-27 21:41:08.107: E/MainActivity(1848): onStart
07-27 21:41:08.107: E/MainActivity(1848): onResume
其次但我们 进行屏幕切换横竖
系统默认会重新加载 即 onpause onstop ondestroy oncreat onstart onresume
虽然勉强初级的了解了整个流程了,但是还要结合到具体的需求中才行 ,还要继续参透
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- BFS-Oil Deposits
- ECMAScript总结
- 什么是子接口
- UVa 10566 - Crossed Ladders 【二分】
- 关于win10无法打开.msi文件的解决方法
- activity生命周期
- HDU 1873
- php设计模式之观察者模式
- hdu 3652 B-number 数位dp
- 营销的目的
- 深入理解HTTP Session
- TCP协议的连接机制---三次握手信号的原理
- css 居中总结
- HDOJ 2141 Can you find it?