在MainActivity@H_403_3@里面重写以下方法:
在这些方法里面打印log@H_403_3@日志,为了方便查看在filter@H_403_3@里面增加一个System.out@H_403_3@来过滤
onCreate()
onDestory()
onPause()
onResume()
onStart()
onStop()
第一次打开一个activity@H_403_3@和关闭时,这个调用顺序onCreate ==> onStart ==> onResume ==>@H_403_3@关闭 ==> onPause ==> onStop ==> onDestroy
打开第二个activity@H_403_3@的流程,第一个界面的状态 onCreate ==> onStart ==> onResume ==> @H_403_3@打开第二个activity ==> onPause ==> onStop ==> @H_403_3@关闭第二个 ==> onStart ==> onResume ==> @H_403_3@关闭第一个 ==> onPause ==> onStop ==> onDestroy
测试获取焦点和失去焦点,建立第三个Activity@H_403_3@,修改样式,在预览界面有一个Apptheme@H_403_3@的小控件,里面theme@H_403_3@有个对话框的选项,在清单文件中,给<activity/>@H_403_3@节点添加主题属性
设置主题androID:theme=”@androID:style/theme.Dialog” 系统R@H_403_3@文件的样式,对话框的风格
点击按钮打开这个activity@H_403_3@,这时第一个界面会调用 onPause @H_403_3@方法,失去焦点
点击空白部分,第一个界面会得到焦点,onResume @H_403_3@方法
生命周期两两对应,可以分为三个,完整生命周期,可视生命周期,前台生命周期,点击后退按钮会销毁activity
生命周期的使用场景,数据的持久化,比如在写微博,当用户不小心按了后退按钮,activity@H_403_3@会调用onDestroy@H_403_3@方法,我们就可以把数据存到文件或者sp@H_403_3@里面
当界面从新可见的时候,会调用onStart@H_403_3@方法,我们可以做一些界面的更新或者业务逻辑的变化
比如:当跳转了activity@H_403_3@,要求用户配置某些东西时,用户没有配置就点了返回,这时,我们可以把检测网络的代码写到onStart()@H_403_3@方法里面,这样用户体验不好,可以使用对话框
获取AlertDialog.Builder@H_403_3@对象,通过new Builder(context)@H_403_3@得到,参数:上下文
调用builder@H_403_3@对象的setTitle()@H_403_3@方法,设置标题
调用builder@H_403_3@对象的setMessage()@H_403_3@方法,设置内容
调用builder@H_403_3@对象的setPositivebutton(text,Listener)@H_403_3@方法,设置确定按钮,参数:文字,OnClickListener@H_403_3@接口对象,通过匿名内部类直接new@H_403_3@出来,重写onClick()@H_403_3@方法
调用builder@H_403_3@对象的create()@H_403_3@方法调用show()@H_403_3@方法,创建并展示出来
package com.tsh.lifecye;import androID.app.Activity; androID.app.AlertDialog; androID.app.AlertDialog.Builder; androID.content.DialogInterface; androID.content.DialogInterface.OnClickListener; androID.os.Bundle; androID.vIEw.Menu; androID.vIEw.MenuItem; androID.Widget.Toast;public class MainActivity extends Activity { @OverrIDe protected voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.activity_main); System.out.println("onCreate"); } //提示对话框 @OverrIDe onStart() { .onStart(); System.out.println("onStart"); AlertDialog.Builder builder=new Builder(this); builder.setTitle("提示"); builder.setMessage("我是一个好人"); builder.setPositivebutton("确定",new OnClickListener() { @OverrIDe voID onClick(DialogInterface dialog,1)">int which) { Toast.makeText(MainActivity.this,"yes是的",0).show(); } }); builder.create().show(); } @OverrIDe onResume() { Todo auto-generated method stub .onResume(); System.out.println("onResume"); } @OverrIDe onPause() { .onPause(); System.out.println("onPause" onStop() { .onStop(); System.out.println("onStop" onDestroy() { .onDestroy(); System.out.println("onDestroy"); }}
总结
以上是内存溢出为你收集整理的[android] activity的生命周期全部内容,希望文章能够帮你解决[android] activity的生命周期所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)