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是配对的,这两个方法可能被调用多次; 除了这种区别,在实际使用中没有其他明显区别;
 
 Q:Activity A启动另一个Activity B会回调哪些方法?如果Activity B是完全透明呢?如果启动的是一个Dialog呢?
          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 基础总结的主要内容,如果未能解决你的问题,请参考以下文章

Android 面试题总结之Android 基础

Android 面试题总结之Android 基础

Android 面试题总结之Android 基础

Android 面试题总结之Android 基础

Android 面试题总结之Android 基础

Android 面试题总结之Android 基础