Activity生命周期
来源:互联网 发布:淘宝女装退货率太高了 编辑:程序博客网 时间:2024/06/02 03:41
Activty状态
1.运行状态:该Activity位于前台,用户可见,可获得焦点。即该Activity为当前与用户的唯一界面。
2.暂停状态:其他Activity位于前台,依然部分可见,无法获得焦点。如启动一个对话框风格的Activity,遮住来了该Activity的部分内容。
3.停止状态:该Activity不可见,失去焦点,但是未被销毁。
3.销毁状态:该Activity结束,或者所在进程被finish。
回调方法
1.onCreate(Bundle savedStatus):创建Activity,该方法只会被调用一次。
2.onStart():启动Activity。
3.onRestart():重新启动Activity。
4.onResume():恢复Activity,onStart()后一定会回调该方法。
5.onPause():暂停Activity。
6.onStop():停止Activity。
7.onDestroy():销毁Activity,只会被调用一次。
状态与回调方法
Demo:演示Activity运行过程如何回调各种方法
1.MainActivity:
public class MainActivity extends AppCompatActivity { final String TAG = "---MainActivity---"; @BindView(R.id.dialog) Button dialog; @BindView(R.id.second) Button second; @BindView(R.id.finish) Button finish; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.i(TAG, "onCreate创建!"); setContentView(R.layout.activity_main); ButterKnife.bind(this); } @Override protected void onStart() { super.onStart(); Log.i(TAG, "onStart启动!"); } @Override protected void onRestart() { super.onRestart(); Log.i(TAG, "onRestart重新启动!"); } @Override protected void onResume() { super.onResume(); Log.i(TAG, "onResume重新开始!"); } @Override protected void onPause() { super.onPause(); Log.i(TAG, "onPause暂停!"); } @Override protected void onStop() { super.onStop(); Log.i(TAG, "onStop停止!"); } @Override protected void onDestroy() { super.onDestroy(); Log.i(TAG, "onDestroy摧毁!"); } @OnClick({R.id.dialog, R.id.second, R.id.finish}) public void onClick(View view) { switch (view.getId()) { case R.id.dialog: startActivity(new Intent(this, DialogActivity.class)); break; case R.id.second: startActivity(new Intent(this, SecondActivity.class)); break; case R.id.finish: finish(); break; } }}
DialogActivty对话框风格的Activity:
public class DialogActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView text = new TextView(this); text.setText("对话框风格!"); setContentView(text); }}
SecondActivity:
一个可跳转的空白Activity。
测试结果
1.启动Activity
2.开启对话框风格的Activity
3.点击<–返回键
4.点击home键
5.再次启动Activity
6.跳转到第二个Activity
ps:与点击home键一致
7.点击finish按钮
总结
每个Activty都有可能从活动状态转为非活动状态,也有可能非活动状态转为活动状态。充分利用这些回调方法就能恢复Activity的状态。继续该Activity之前的进程操作。
Demo代码地址:
http://download.csdn.net/detail/demonliuhui/9792595
1 0
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity 生命周期
- activity生命周期
- Activity 生命周期
- Activity生命周期
- Activity生命周期
- Activity生命周期
- NSJSONSerliazition文档翻译和使用
- 《大话数据结构》读书笔记(二)——线性表
- Java集合之ArrayList总结
- Intellij Idea 2016.3 SVN 提交 No changes detected
- 学习笔记——关于 while(cin>>word){} 如何停止的问题
- Activity生命周期
- jxl 导出excel
- tomcat 配置域名
- Tomcat的目录结构
- git 使用总结
- MySQL使用记录
- 中、前、后缀表达式
- Java中break跳出循环的层数
- 信号的VIEW