Android 基础总结
Posted suppler
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 基础总结相关的知识,希望对你有一定的参考价值。
学了也有几个月的android了,基础还是很薄弱,本来已经记住的东西时间长了还很容易忘记,大概也许可能是老了。。。所以只能纪录一下了,也为以后换工作面试做个参考。
一, Activity
Q:说下Activity的生命周期?
在正常情况下,Activity的常用生命周期就只有如下7个
- onCreate():表示Activity正在被创建,常用来初始化工作,比如调用setContentView加载界面布局资源,初始化Activity所需数据等;
- onRestart():表示Activity正在重新启动,一般情况下,当前Acitivty从不可见重新变为可见时,OnRestart就会被调用;
- onStart():表示Activity正在被启动,此时Activity可见但不在前台,还处于后台,无法与用户交互;
- onResume():表示Activity获得焦点,此时Activity可见且在前台并开始活动,这是与onStart的区别所在;
- onPause():表示Activity正在停止,此时可做一些存储数据、停止动画等工作,但是不能太耗时,因为这会影响到新Activity的显示,onPause必须先执行完,新Activity的onResume才会执行;
- onStop():表示Activity即将停止,可以做一些稍微重量级的回收工作,比如注销广播接收器、关闭网络连接等,同样不能太耗时;
- onDestroy():表示Activity即将被销毁,这是Activity生命周期中的最后一个回调,常做回收工作、资源释放;
延伸:从整个生命周期来看,onCreate和onDestroy是配对的,分别标识着Activity的创建和销毁,并且只可能有一次调用; 从Activity是否可见来说,onStart和onStop是配对的,这两个方法可能被调用多次; 从Activity是否在前台来说,onResume和onPause是配对的,这两个方法可能被调用多次; 除了这种区别,在实际使用中没有其他明显区别;
Activity A 启动另一个Activity B,回调如下
- Activity A 的onPause() → Activity B的onCreate() → onStart() → onResume() → Activity A的onStop();
- 如果B是透明主题又或则是个DialogActivity,则不会回调A的onStop;
Q:谈谈onSaveInstanceState()方法?何时会调用?
Q:onSaveInstanceState()与onPause()的区别?
Q:如何避免配置改变时Activity重建?
Q:优先级低的Activity在内存不足被回收后怎样做可以恢复到销毁前状态?
Q:说下Activity的四种启动模式?(有时会出个实际问题来分析返回栈中Activity的情况)
Q:谈谈singleTop和singleTask的区别以及应用场景
Q:onNewIntent()调用时机?
Q:了解哪些Activity启动模式的标记位?
Q:如何启动其他应用的Activity?
Q:Activity的启动过程?
其余的参考文章 https://juejin.im/post/5c8211fee51d453a136e36b0#heading-56
以上是关于Android 基础总结的主要内容,如果未能解决你的问题,请参考以下文章