1.Activity 的生命周期
onCreate(创建) ->onStart(启动) ->onResume(可交互) ->onPause(暂停) ->onStop(停止) ->onDestroy(销毁)
其中前景模式是由oncreate(创建)、onstart(启动) 、onresume(可见可交互)三个方法来体现的。而可见模式则分为两种状态,一种是被dialog覆盖,进入透明模式,在onpause(暂停)可以体现出来,第二就是如果当前activity被完全覆盖,就会进入onstop状态,完全不可见,当覆盖物消失时会调用onrestart方法来唤醒该activity,由覆盖状态重新变为可见状态,并
重新执行onstart和onresume重新变为可见可交互状态。
2.Activity 的四种启动方式
standard: 先进后出;
singleTop: 栈顶就是该Activity,则不需要创建,其余情况都要创建Activity实例;
应用场景:商品推送,推送多条商品,全部点击,只会创建一个商品详情页面
singleTask: Activity在任务栈中存在,则不创建,会把此Activity放入栈顶,并把该Activity以上的 Activity实例都出栈;
应用场景:应用入口Activity,每次跳转的时候都会把之上的Activity全部清空
singleInstance: activity单独放到一个栈,下次再使用的时候,直接使用这个栈
应用场景:打电话,闹钟等
3.Activity 间传如何递数据
* 通过 Intent 传递
* 通过全局变量传递
* 通过 SharedPreferences 传递
4.Activity 横竖屏切换生命周期有哪些变化
* 不设置configChanges时,切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行两次
* 设置configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一* 次
* 设置configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执 * 行onConfigurationChanged方法
5.显示Intent 和隐式Intent 有和区别
* 显式Intent: 通过Activity名称来跳转,(a.this,b.clss)
* 隐式Intent: 在清单文件中配置IntentFilter来实现,用在没有明确指出目标组件名称的前提下,当应* 用要跳转另一个应用的Activity时,
* 只能使用隐式意图,根据Activity配置的意图过滤器建一个意图,让意图中的各项参数的值都跟过滤器* 匹配,就可以激活其他应用的Activity