关于栈的概念和启动模式
1、为什么需要四种启动模式?池复用,因为按默认情况启动,会不停创建和销毁activity,所以引入栈来管理;
2、设置栈有两种方式?一种是清单文件配置taskAffinity,一种是intent设置,两种都有设置,Intent覆盖清单配置。
3、默认按返回键,出栈清空,直接回到桌面,但后台栈保留着,再启用栈内页面会复用。
4、不管当前显示哪个栈,按home键,再次进入,显示默认栈。
5、onNewIntent和onRestart的区别?前者Intent方式重复启动回调,后者页面切换再次可见执行
关于lifecycle
1、生命周期执行的主要数据的保存和销毁
2、onsaveInstance和onRestoreInstance、oncreate?
页面即将不只是失去焦点时,具体指按home键系统会保存数据,页面及其所有view都会调onsaveInstance方法
又会在页面数据完全可操作前恢复,既是onpasuse后调用onsaveInstance,onresume之前onRestoreInstance;
关于数据恢复也可以从oncreate恢复,但是需要判空,系统清理页面建议在onRestoreInstance恢复;
3、旋转手机分为三种情况,完全不配置screenOrientation,页面会走销毁再创建,如果配置了固定方向等属性,则会
回调onConfigChanged;如果指明垂直方向,则不会响应任何监听(建议指明)
4、当前页面启动不透明页面的什么周期
A onpause B oncreate B onstart B onResume A onsaveInstance A onstop
再按返回
B onpase A onRestart A start A onResume B onstop B ondestroy