Android 开发艺术探索(笔记)--1. Activity 生命周期
来源:互联网 发布:苹果软件无法安装 编辑:程序博客网 时间:2024/05/05 05:28
异常生命活动
1. 系统资源配置改变导致Activity被杀死并重新启动
activity在这种情况下(onPause,onStop,onDestory)均会被调用;同时由于是异常情况,系统会调用onSaveInstanceState(在onstop之前调用,和onpause没有既定的关系)保存数据;注:该方法只会在异常状况下调用。
onRestoreInstaceState:在Activity 重新创建时调用,同时也会把异常时保存的数据传递到该方法(onCreate也会传递到);时机上该方法在onStart之后;
protected void onCreate(Bundle saveInstanceState){ super.onCreate(saveInstanceState); setContentView(R.layout.activity_main); if(saveInstanceStace != null){ String test = saveInstanceState.getString("key_string"); }}protected void onSaveInstanceStace(Bundle outState){ super.onSaveInstanceStace(outState); if(saveInstanceStace != null){ outState.putString("key_string","test"); }}protected void onRestoreInstanceStace(Bundle saveInstanceState){ super.onRestoreInstanceStace(saveInstanceState); String test = saveInstanceState.getString("key_string");}
注:onRestoreInstanceStace中一定是会有值返回的,onCreate中可能是空因此要进行判断
一般情况下异常处理时。使用onRestoreInstanceStace恢复数据。注意这里onRestoreInstanceStace和onSaveInstanceStace,是在异常终止并且系统有机会恢复的情况下才会保存数据和恢复数据。
2.资源内存不足导致低优先级被杀死
在activity 中设置configChange可以防止重新创建,可配置的属性有很多;但一般常用的有
:locale,orientation,keyboardHidden等,其中screenSize和smallesScreenSize行为和编译选项有关,和运行环境无关。
3. Activity 的启动模式
- 安卓是靠一种“后进先出”的任务站模式来管理每个Activity的生成和销毁,没一起新的Activity(不管是不是同一个)都会放入任务栈中;
四种启动模式:standard,singleTop,singleTask,singleInstance;
- ### 设置启动模式 ###
1) 菜单(Androidmenifest)文件
- ### 设置启动模式 ###
<activity android:name=".MainActivity" android:label="@string/app_name" android:theme="@style/AppTheme.NoActionBar" android:launchMode="singleTask" >
2) intent设置
Intent inten = new Intent(); inten.setClass(MainActivity.this,SecondActivity.class); inten.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(inten);
通过:adb shell dumpsys activitymin命令可以查看当前栈中的情况
Activity flags
1.interFilter 匹配规则
intent一般不能即是显式调用又是隐式调用,二者共存显式为主;
- intentFilter(action,category,data)
- Android 开发艺术探索(笔记)--1. Activity 生命周期
- **读Android开发艺术探索学习笔记--Activity的生命周期**
- Android开发艺术探索笔记(1)- Activity的生命周期
- Android开发艺术探索-Activity的生命周期
- Android开发艺术探索笔记 第一章Activity
- Android开发艺术探索笔记之Activity
- Android 开发艺术探索 学习笔记 Activity
- Android Activity生命周期(Android艺术开发探索读书笔记)
- 《Android开发艺术探索》笔记之Activity的生命周期和启动模式
- Activity在异常情况下的生命周期——Android开发艺术探索笔记
- Android开发艺术探索(研读笔记)——01-Activity的生命周期
- Android开发艺术探索学习笔记之Activity(1)生命周期
- 《Android 开发艺术探索》随手笔记——第一章Activity生命周期和启动模式
- 《Android开发艺术探索》之学习笔记(一)Activity的生命周期和启动模式
- 《Android开发艺术探索》笔记 — Activity的生命周期和启动模式
- Android开发艺术探索笔记——第一章:Activity的生命周期和启动模式
- Android开发艺术探索笔记(一) Activity的生命周期和启动模式(1)
- 《Android开发艺术探索》阅读笔记(一)、activity生命周期 及 启动模式
- [生存志] 第10节 历代大事件概览 西周
- JAVA的 三种循环语句
- jquery完成bootstrap动态表格
- 反射常规使用
- 文本编辑器(链表+string+光标移动)
- Android 开发艺术探索(笔记)--1. Activity 生命周期
- Android笔记
- Java注解
- 测试
- 利用lirc进行树莓派上的红外控制
- CSS 基础(026_计数器)
- 测试2
- 博客头脑风暴
- Java实现基础的client/server模型