Activity重要知识总结
2015-08-10 17:40
274 查看
一.Activity的生命周期
1.意义:管理好Activity的生命周期有利于开发更灵活的应用
2.内容:
①完整周期:onCreate()方法和onDestroy()方法之间。在onCreate()方法中初始化,在onDestroy()方法中释放内存
②可见周期:onStart()方法和onStop()方法之间。可合理管理那些对用户可见的资源,在onStart()方法中加载,在onStop()方法中释放,从而保证处于停止状态的活动不会占用过多内存。
③前台周期:onResume()方法和onPause()方法之间。过渡,代码轻量级。在onPause()内保存数据持久化
3.保存活动状态和恢复
onSaveInstanceState(Bundle outState)方法:保证一定在活动被回收前调用,用于保存临时数据。
onCreate(Bundle savedInstanceState)/onRestoreInstanceState():用于恢复数据
二.Activity的启动模式
①standard:默认
②singleTop:解决了重复创建栈顶活动的问题 在onNewIntent(Intent intent)方法中接受Intent
③singleTask:系统会创建一个任务栈,在新任务栈中实例化此Activity。 实现让某个活动在整个应用程序的上下文中只存在一个实例 在onNewIntent(Intent intent)方法中接受Intent
④singleInstance:与 “singleTask”相同,除了这个新任务栈只能容纳唯一一个该活动的实例. 解决了共享活动实例的问题
注意:singleTask 活动添加到BackStack.当该活动已经处于一个后台任务栈中,整个任务栈均添加到当前任务栈中
1.意义:管理好Activity的生命周期有利于开发更灵活的应用
2.内容:
①完整周期:onCreate()方法和onDestroy()方法之间。在onCreate()方法中初始化,在onDestroy()方法中释放内存
②可见周期:onStart()方法和onStop()方法之间。可合理管理那些对用户可见的资源,在onStart()方法中加载,在onStop()方法中释放,从而保证处于停止状态的活动不会占用过多内存。
③前台周期:onResume()方法和onPause()方法之间。过渡,代码轻量级。在onPause()内保存数据持久化
3.保存活动状态和恢复
onSaveInstanceState(Bundle outState)方法:保证一定在活动被回收前调用,用于保存临时数据。
onCreate(Bundle savedInstanceState)/onRestoreInstanceState():用于恢复数据
二.Activity的启动模式
①standard:默认
②singleTop:解决了重复创建栈顶活动的问题 在onNewIntent(Intent intent)方法中接受Intent
③singleTask:系统会创建一个任务栈,在新任务栈中实例化此Activity。 实现让某个活动在整个应用程序的上下文中只存在一个实例 在onNewIntent(Intent intent)方法中接受Intent
④singleInstance:与 “singleTask”相同,除了这个新任务栈只能容纳唯一一个该活动的实例. 解决了共享活动实例的问题
注意:singleTask 活动添加到BackStack.当该活动已经处于一个后台任务栈中,整个任务栈均添加到当前任务栈中
相关文章推荐
- 使用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