Activity生命周期
2016-03-22 23:06
549 查看
activity是Android四大组件之一,主要和用户进行交互,使用activity时会回调activity的一些方法。activity的运行模式分为正常模式和异常模式。当用户在android手机上点击一个应用程序后这个应用程序就会被启动。每一个应用程序都会有一个application对象,当应用程序启动是这个application对象就会被创建。在这个application对象创建后,应用程序就开始创建activity。
activity是一个容器,在这个容器上可以定义UI,但是activity并不是UI,activity上会有一个window对象,在window对象上可以定义若干个view对象,也就是形形色色的UI。在activity的oncreate方法中首先会调用setcontentview方法,如果不调用,activity启动后只有一个黑乎乎的窗体。activity上还有很多的业务逻辑,所以说activity是一个容器。
创建一个activity首先要重写oncreate方法,创建完一个activity会执行onstart方法,这时的activity变得可见。当activity被暂停之后通过onresume方法唤醒activity。onstop方法在activity停止时调用,在销毁时会执行ondestoty方法。
在系统资源紧张时,activity有可能被杀死,按照进程的优先级杀死进程,如果此时activity作为一个前台进程,基本上是不会被杀死的。 在activity意外停止(系统故障或者被杀死)时,会使用Bundle保存数据,当activity恢复时,可用使用Bundle恢复数据。保存数据可用重写以下两个方法
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
Log.v(TAG, savedInstanceState.getString("data"));
super.onRestoreInstanceState(savedInstanceState);
}
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("data", "example");
super.onSaveInstanceState(outState);
}
恢复数据时直接从Bundle对象拿数据。有一个有意思的现象就是对手机进行反转,也就是切换横屏和竖屏时,activity会结束,然后重新创建。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories