Android开发艺术探索——————要点总结

 

Activity异常情况的生命周期:

默认情况下,Activity不做特殊处理,当系统配置发生改变后,Activity会被销毁并重建 。由于Activity是在异常情况下终止的,系统会调用onSaveInstanceState来保存当前Activity的状态(在onStop之前)。当Activity被重新创建后,系统会调用onRestoreInstanceState(Activity被系统回收后重建才会调用该方法,在onStart之后),并把Activity销毁时的onSaveInstanceState方法所保存的Bundle传递给onRestoreInstanceState和onCreate方法。

不想让屏幕旋转时重建, Android:configChanges="orientation" ,旋转后调用onConfigurationChanged方法。

 

Activity的启动模式:

standard :标准模式,每次启动一个Activity都会重新创建一个新的实例。

singleTop:栈顶复用模式, 如果新Activity已经位于任务栈顶,此Activity不会被创建,同时onNewIntent方法被回调。

singleTask:栈内复用模式,单实例模式。只要Activity在一个栈中存在,那么多次启动此Activity都不会重新创建实例,系统回调其onNewIntent方法。系统会先寻找A想要的任务栈,然后创建A的实例。

singleInstance:除具有singleTask特性外,此模式的Activity只能单独位于一个任务栈。

TaskAffinity:任务相关性,这个参数表示了一个Activity所需要的任务栈的名字。默认情况,Activity所需的任务栈的名字为应用的包名。

 

posted @ 2018-11-30 16:26  kyun  阅读(206)  评论(0编辑  收藏  举报