我的android 第30天 - Activity(三)
六、Activity生命周期
Activity有三个状态:
当Activity从一种状态转变到另一种状态时,会调用以下保护方法来通知这种变化:
voidonCreate(BundlesavedInstanceState)
voidonStart()
voidonRestart()
voidonResume()
voidonPause()
voidonStop()
voidonDestroy()
这七个方法定义了Activity的完整生命周期。实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环:
七、onSaveInstanceState()和 onRestoreInstanceState()方法
Activity的onSaveInstanceState()和 onRestoreInstanceState()并不是生命周期方法,它们不同于onCreate()、onPause()等生命周期方法,它们并不一定会被触发。当应用遇到意外情况(如:内存不足、用户直接按Home键)由系统销毁一个Activity时,onSaveInstanceState()才会被调用。但是当用户主动去销毁一个Activity时,例如在应用中按返回键,onSaveInstanceState()就不会被调用。因为在这种情况下,用户的行为决定了不需要保存Activity的状态。通常onSaveInstanceState()只适合用于保存一些临时性的状态,而onPause()适合用于数据的持久化保存。
另外,当屏幕的方向发生了改变,Activity会被摧毁并且被重新创建,如果你想在Activity被摧毁前缓存一些数据,并且在Activity被重新创建后恢复缓存的数据。可以重写Activity的onSaveInstanceState()和 onRestoreInstanceState()方法,如下:
public class PreferencesActivity extends Activity {
private String name;
protected void onRestoreInstanceState(Bundle savedInstanceState) {
name= savedInstanceState.getString("name"); //被重新创建后恢复缓存的数据
super.onRestoreInstanceState(savedInstanceState);
}
protected void onSaveInstanceState(Bundle outState) {
outState.putString("name","liming");//被摧毁前缓存一些数据
super.onSaveInstanceState(outState);
}
}
下载视频代码
相关推荐
第三章 android中的资源访问 第四章 android用户界面 第五章 android基本程序单元Activity 第六章 android组件之间的信使Intent 第七章 android Service组件 第八章 android广播事件处理Broadcast Receiver 第九章 ...
� 由于采用了 Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于 Android 是一款完全 开 源的移动计算平台,相信第三方应用会很快的丰富起来。 � Google 提供了一套 Java 核心包 (J2SE 5,J2SE 6) 的...
【第一版第三章】老罗Android开发视频--HTTP协议编程(4集) 【第一版第四章】老罗Android开发视频--解析XML数据(3集) 【第一版第五章】老罗Android开发视频--解析JSON数据(4集) 【第一版第六章】老罗Android...
(2)晚于上述时间2天之内提交的,该次实验成绩一律记为原成绩的30%;晚于上述 时间2天以上提交的,该次实验成绩一律记为0分。 ----------------------- 实验1--Android基础入门与Android-UI开发应用(1)全文共3页,...
第三部分内容,先教大家如何搭建裸机开发环境,然后带领大家一起阅读三星的芯片手册,并编写了LED、蜂鸣器、按键、中断、串口UART、实时时钟RTC、定时器PWM、模数转换ADC等裸机驱动;第四部分,讲解了Linux设备驱动...
Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的跳转及传值 Android学习笔记(五)——Toast提示、Dialog对话框、Menu菜单 ...
第一讲:Android开发环境的搭建 第二讲:Android系统构架分析和应用程序目录结构分析 第三讲:Android模拟器的使用 emulator 第四讲:Activity入门指南 Activity ...第三十讲:URLConnection和HttpClient使用入门
第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用contentProvider实现数据共享 第十章...
第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用contentProvider实现数据共享 第十章...
第三章事件处理 第四章深入理解activity 第五章使用intent和intentFilter进行通信 第六章android应用的资源 第七章图形与图像处理 第八章android的数据存储和IO 第九章使用contentProvider实现数据共享 第十章...
第三十四章 加入相依的活動(ActivityForResult) 第三十五章 加入長按選單(ContextMenu) 第三十六章 申請 Google 地圖服務(API Key) 第三十七章 使用地圖(MapView) 第三十八章 加入按鍵控制 (KeyEvent) 第三...
04_开发与运行(卸载)第一个ANDROID应用.avi 所在项目:Hello 06_电话拔号器.avi 所在项目:phone 08_短信发送器.avi 所在项目:sms 09_深入了解各种布局技术.avi 所在项目:sms & FrameLayout 10_对应用进行单元...
第3章 第一个Android程序 15 3.1 HelloAndroid 15 3.1.1 在Eclipse中创建项目 15 3.1.2 编写程序项目代码 17 3.1.3 运行HelloAndroid 18 3.1.4 Android工程目录 19 3.1.5 AndroidManifest.xml文件 21 3.2 ...
第5章 Android基本程序单元ActivityAndroid 基本程序单元Activity,讲述了Android中重要组件Activity的创建、启动和生命周期等内容 续表 篇 名章 名内容简介 第二篇 技术篇第6章 Android组件之间的信使...
全书共分15章,内容包括Android快速入门、Android模拟器与常用命令、用户界面设计、高级用户界面设计、基本程序单元Activity、Android应用核心Intent、Android事件处理、资源访问、图形图像处理技术、多媒体应用开发...
ButterKnife这个第三方库每次更新之后,绑定view的注解都会改变,从bind,到inject,再到bindview,搞得很多人都不敢升级,一旦升级,就会有巨量的代码需要手动修改,非常痛苦 当我们有一些非常棒的代码需要拿到其他...
第1章 Android计算平台简介 1.1 面向新PC的全新平台 1.2 Android的历史 1.3 Dalvik VM剖析 1.4 理解Android软件栈 1.5 使用Android SDK开发最终用户应用程序 1.5.1 Android模拟器 1.5.2 ...
这是一本全面介绍Android相关知识的图书,全书分为三个部分,由浅入深,从Android初级知识,讲到一些关于核心编程的实用示例,最后还讨论了一些高级应用程序的话题。在介绍Android编程的时候,各主题都使用了独立的...