Activity 生命周期
来源:互联网 发布:素描自学软件 编辑:程序博客网 时间:2024/04/29 00:02
1.Activity 首次启动:
onCreate() ---> onStart() ---> onResume() --->
2.在Activity被覆盖时,比如启动了Dialog主题的Activity) [*状态栏拉下和Toast,Alert不算...]
onSaveInstanceState() ---> onPause() --->
4.0+ : onPause() --> onSaveInstanceSate() --->
3.提示框关闭回到Activity时
onResume()-->
4.Activity已经完全不可见(比如跳转或者按下Home键) [*状态栏拉下和Toast,Alert不算...]
onSaveInstanceState() ---> onRause() ---> onStop() -->
4.0+ : onRause() ---> onSaveInstanceState() ---> onStop() -->
5.回到Activity时
onRestart() ---> onStart() ---> onResume() --->
6.如果是已startActivityForResult()启动
onActivityResult() ---> GOTO: 6.
7.执行了finish().
onPause() ---> onStop() ---> onDestroy()--->
8.如果没有处理横屏/竖屏,
Bundle 以下简称 b; 如果 != null 小写b ;如果 ==null 大写B;
onCreate(B) --->---> ... ---> 屏幕被旋转 ---> onSaveInstanceState() ---> GOTO:7. ---> onCreate(b) --> onStart() ---> onRestoreInstanceState(b) ---> onResume() -->
目前知道的就这些~,
源码在此.
public class SaveRestoreState extends Activity {// 首次启动 onCreate// 屏幕发生变化或者内存耗尽时..// onSaveInstanceState// onCreate// onRestoreInstanceState@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);Log.d(MainAct.TAG, "onCreate");// getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,// WindowManager.LayoutParams.FLAG_BLUR_BEHIND); //背景玻璃效果Button button = new Button(this);button.setText("Click me. | Long click Me.");setContentView(button);button.setOnClickListener(new View.OnClickListener() {public void onClick(View v) {Intent i = new Intent(SaveRestoreState.this,SaveRestoreState.class);startActivityForResult(i, 0);}});button.setOnLongClickListener(new View.OnLongClickListener() {public boolean onLongClick(View v) {// new AlertDialog.Builder(SaveRestoreState.this)// .setTitle("Title")// .setPositiveButton(android.R.string.ok, null).show();Intent i = new Intent(SaveRestoreState.this,CustomDialogAct.class); // 这个是 Them.Dialog 的ActivitystartActivityForResult(i, 0);return false;}});if (savedInstanceState != null) {// 第一次启动时空Log.d(MainAct.TAG, savedInstanceState.toString());// Log.d(MainAct.TAG, savedInstanceState.getString("key"));}}@Overrideprotected void onSaveInstanceState(Bundle outState) {Log.d(MainAct.TAG, "onSaveInstanceState");// outState.putString("key", "ok.");super.onSaveInstanceState(outState);}@Overrideprotected void onRestoreInstanceState(Bundle savedInstanceState) {Log.d(MainAct.TAG, "onRestoreInstanceState");// Log.d(MainAct.TAG, savedInstanceState.getString("key"));super.onRestoreInstanceState(savedInstanceState);}@Overrideprotected void onStart() {Log.d(MainAct.TAG, "onStart");Log.d(MainAct.TAG, "this :" + this);super.onStart();}@Overrideprotected void onRestart() {Log.d(MainAct.TAG, "onRestart");super.onRestart();}@Overrideprotected void onResume() {Log.d(MainAct.TAG, "onResume");super.onResume();}@Overrideprotected void onPause() {Log.d(MainAct.TAG, "onPause");super.onPause();}@Overrideprotected void onStop() {Log.d(MainAct.TAG, "onStop");super.onStop();}@Overrideprotected void onDestroy() {Log.d(MainAct.TAG, "onDestroy");super.onDestroy();}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {Log.d(MainAct.TAG, "onActivityResult");super.onActivityResult(requestCode, resultCode, data);}}
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- SQL从DB中取出多个字段赋值给多个变量/一个字段给单个变量赋值
- 第二周任务3
- 北漂
- 在SQL中实现数组功能
- 题解:猜数字——穷举法的应用
- Activity 生命周期
- Java 之 String 类型
- NSString的内容如何按行抽取
- 使用JavaDoc工具,生成源码文档
- 组合数
- 实现隔行变色与当鼠标移动上去时自动变色
- [观点]应用开发Java依然强势
- 最少硬币问题
- [笨木头"创业"路]No.0 前言