Android之Activity
来源:互联网 发布:java运行原理图 编辑:程序博客网 时间:2024/06/01 09:38
关于activity的生命周期,自己做一个简单的复习。
首先有两个activity,第一个activity(MainActivity)中有个按钮可以跳转到第二个activity(NextActivity)。
MainActivity.java:
public class MainActivity extends Activity {
private static final String TAG = "myactivity";private Button btNext;@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btNext = (Button) findViewById(R.id.button); btNext.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this,NextActivity.class)); } }); Log.i(TAG,"onCreate");}@Overrideprotected void onDestroy() { super.onDestroy(); Log.i(TAG,"onDestroy");}@Overrideprotected void onStart() { super.onStart(); Log.i(TAG,"onStart");}@Overrideprotected void onStop() { super.onStop(); Log.i(TAG,"onStop");}@Overrideprotected void onPause() { super.onPause(); Log.i(TAG,"onPause");}@Overrideprotected void onResume() { super.onResume(); Log.i(TAG,"onResume");}@Overrideprotected void onRestart() { super.onRestart(); Log.i(TAG,"onRestart");}
}
当我们运行MainActivity时执行:
onCreate->onStart->onResume
退出MainActivity时执行:
onPause->onStop->onDestroy
当返回桌面时执行:
onPause->onStop
当返回桌面后再启动MainActivity时执行:
onRestart->onStart->onResume
再测试一下界面跳转时MainActivity生命周期的变化,下面给出跳转到下一个activity的代码(其实什么也不需要做)。
NextActivity.java:
public class NextActivity extends Activity{
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_next); }
}
当按下跳转按钮时MainActivity执行:
onPause->onStop
返回到MainActivity执行:
onRestart->onStart->onResume
如果跳转后连续按两次返回键,则会执行:
onPause1->onRestart->onStart->onResume->onPause->onStop->onDestroy->onStop1->onDestroy1(后面加1的是NextActivity中的生命周期),结果发现最后消失的是NextActivity。
另外系统在Activity异常终止的时候会调用onSaveInstanceState与onRestoreInstanceState来储存和恢复数据,其他情况不会触发这个过程。但是按Home键或者启动新Activity仍然会单独触发onSaveInstanceState的调用(可以用此来保存此时activity的状态,以免对用户造成不好的体验,但大多数都是自己写类来记住activity的状态,具体自己体会)。
- Android之activity
- Android之Activity 2
- Android 之 Activity 生命周期
- android之activity生命周期
- Android 之 Activity 生命周期
- android 之 Task Activity
- Android之Activity学习
- android组件之Activity
- 精通android之Activity
- Android之Activity
- android 之 Activity lifecycle
- 05.Android之Activity
- Android之Activity
- Android入门之Activity
- Android之Activity组件
- android组件之Activity
- Android之Activity
- Android之Task Activity
- eclipse 配置 maven 编译代码
- Error:Cannot change dependencies of configuration 'detachedConfiguration1' after it has been resolve
- ]android多媒体框架之流媒体AHandler消息机制----base on jellybean(十)
- 多线程
- WebService性能测试
- Android之Activity
- NSString+NSMutableString+NSValue+NSArray用法汇总
- java 正则表达式验证
- 【每天进步一点点,记我的第一篇博客】
- Xcode 生成文档与注释
- Vim E568:: duplicate cscope database not added 解决方法
- 短信网关平台选型推荐
- Java获取目录下的所有文件
- 关于堆和栈的认识