本人因自学Android刚刚开始的一段时间,公司也没人教。
就靠自己慢慢摸索 着实费了一些劲,走了不少弯路。
刚刚开始就是了解Android的一些界面布局之类的,公司项目紧就老催。然后我就天天看代码希望能看懂把项目进行维护,可是因为自己的能力不够,就去盲目的去学习忘记了要先学习最主要的东西。当然后果也显而易见,因为自己的盲目也没学到什么东西。
现在想总结一下Android的四大组件之一的Activity(活动)
Activity作用:
用户界面交互负责呈现界面,为用户展示可用的操作或是运行的结果,当前Activity会展示在最前面。
Activity概念:
每一个Android的应用中,都可能包含若干个Activity而且Activity之间的关系应该是松散的
每一个Activity都可以start另一个Activity:
对象可能是全新的一个Activity
对象可能是一个被已经被创建过的Activity
这将使新的Activity覆盖在当前的Activity上,成为用户交互的对象
当发生一个Activity覆盖在另一个Activity上时会触发Activity的生命周期系统将维护一个栈结构,当上面Activity销毁时,
将呈现原来的Activity
Activity生命周期方法:
Resumed(Activity处于可完全交互状态,已获得焦点)
Paused(Activity处于无法被交互状态,至少有一部分仍旧可见,已失去焦点)
Stopped(Activity处于完全不可见状态)
OnCreate()当Activity第一次被创建时调用,静态初始化操作
OnStart()Activity从不可见到可见时被调用
OnResumed()进入Resumed状态
OnPause()离开Resumed状态进入Paused状态
OnStop()离开Pause状态进入Stopped状态,关闭Activity
OnDestroy()当Activity进行销毁 , back , finish() , 资源回收时调用
当Activity遇到状态变化时,系统调用Activity中的某些方法,我们称之为Activity的生命周期。
Activity状态恢复的方法:
override Activity【
onSaveInstanceState()保存
onCreate()恢复数据
onRestoreInstanceState()恢复数据】
onSaveInstanceState(Bundle outState)【
系统即将触发Activity重构前,回收时,保存数据时被调用】
onCreate(Bundle savedlnstanceState)
onRestoreInstanceState(Bundle savedlnstanceState)【初始化结束后再恢复数据,override此方法】
android:configChanges属性【
若在manifest 中指定Activity这个属性,那么属性中罗列的配置变化将不再导致Activity的重构
因为会触发Activity的onConfigurationChanged方法的回调
所以Activity不会主动改变将自己的语言】