面试题总结

1.说下Activity的生命周期?
<1>当第一次调用一个Activity就会执行onCreate方法
<2>当Activity处于可见状态的时候就会调用onStart方法
<3>当Activity可以得到用户焦点的时候就会调用onResume方法
<4>当Activity被遮挡住的时候就会调用onPause方法
<5>当Activity处于不可见状态的时候就会调用onStop方法
<6>当Activity没有被销毁的时候重新调用这个Activity就会调用onRestart方法
<7>当Activity被销毁时会调用onDestory方法


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

3.谈谈onSaveInstanceState()方法?何时会调用?
onSaveInstanceState方法会在什么时候被执行,有这么几种情况:
<1>当用户按下HOME键时。
这是显而易见的,系统不知道你按下HOME后要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。以下几种情况的分析都遵循该原则
<2>长按HOME键,选择运行其他的程序时。
<3>按下电源按键(关闭屏幕显示)时。
<4>从activity A中启动一个新的activity时。
<5>屏幕方向切换时,例如从竖屏切换到横屏时。
在屏幕切换之前,系统会销毁activity A,在屏幕切换之后系统又会自动地创建activity A,所以onSaveInstanceState一定会被执行

总而言之,onSaveInstanceState的调用遵循一个重要原则,即当系统“未经你许可”时销毁了你的activity,则onSaveInstanceState会被系统调用,这是系统的责任,因为它必须要提供一个机会让你保存你的数据(当然你不保存那就随便你了)。 ---------重点在于这句

4.手写单例
5.安卓新版本的新特性总结下!
Android 5.0 新特性:
1.引入了Material Design设计语言。
2.运行机制改为更新的ART。相比Dalvik,ART的处理机制完全不同,它会在应用程序安装时就把程序代码转换成机器语言,让程序成为真正的本地应用。
Android 6.0 新特性:
1.运行时权限,用户可以在已安装的app上立刻同意或者拒绝权限.
Android7.0 新特性:
系统权限更改。为了提高私有文件的安全性,面向 Android 7.0 或更高版本的应用私有目录被限制访问 (0700)。此设置可防止私有文件的元数据泄漏,如它们的大小或存在性。。。。。。

你可能感兴趣的:(面试题总结)