美文网首页
Activity知识要点

Activity知识要点

作者: 灼灼其华_b157 | 来源:发表于2018-09-08 00:03 被阅读0次

1.Activity生命周期

生命周期有七个方法

onCreate() , onStart(), onResume() , onPause(), onStop(),onRestart(), onDestroy();

2.onStart()和onResume()/onPause()和onStop()的区别?

在这些方法中,onStart()方法处于可见但不处于前台,而onResume()处于可见且在前台,另外的两种方法和onStart和onResume()是相对应的,同理

3.Activity A启动另一个Activity B会回调哪些方法?如果启动的是一个Dialog呢?

1.在A启动B时,首先A会调用自己的onPause()方法,然后B调用onCreate()→onStart()→onResume()→A的onStop()方法

打开一个新Activity:

A的onPause() -->B 的Activity的onCreate()-->onStart()-->onResume()-->A的Activity的onStop()

2.启动的如果是对话框Dialog,则只会执行A的onPause()方法,而不会执行A的onStop()方法,这时候A只处于暂停状态还没有处于停止状态

A的Activity的onPause()-->B的onCreate()-->onStart()-->onResume()

4.onSaveInstanceState()方法?何时会调用?

这个方法在活动被回收的时候调用,用于保存活动的临时数据,在活动重建之后可以恢复数据

5.onSaveInstanceState()与onPause()的区别?

onSaveInstenceState()用于保存临时数据,而onPause()方法中用于保存持久化数据

6.配置改变时Activity的重建

在切换手机横竖屏时,Activity会被杀死重建,这个时候会用到我们上面讲的onSaveInstanceState()方法

会先调用onSaveInstanceState来保存切换时的数据,接着销毁当前的Activity,然后重新创建一个Activity,再调用onRestoreInstanceState恢复数据

7.Activity的四种启动模式?

1.standard 标准模式

 每当一个新的活动启动时,栈中都会创建一个新的实例,不管栈中是否存在此活动

2.singerTop 栈顶复用模式

启动活动时,如果发现活动在栈中且处于栈顶位置,则栈中不会创建新的实例,并回调onNewIntent(intent)方法。

3.singerTask 栈内复用模式

启动活动时如果活动在栈中存在,就不会重建,而是把此活动之前的栈顶活动全部出栈,让活动处于栈顶,如果不存在则创建新的实例

4.singerInstance 单实例模式

具有此模式的Activity只能单独位于一个任务栈中,且此任务栈中只有唯一一个实例。

8.如何启动其他应用的Activity?

Intent用于启动其他的活动,又分为显示启动和隐式启动,显示启动直接用活动名启动

隐式启动通过Manifest中的action和category信息去启动新的活动

相关文章

网友评论

      本文标题:Activity知识要点

      本文链接:https://www.haomeiwen.com/subject/eoicgftx.html