Activity的常见考点可以总结如下:
-
生命周期管理:理解Activity在不同情况下(如屏幕旋转、配置更改、用户操作等)的生命周期变化,包括但不限于
onCreate
、onStart
、onResume
、onPause
、onStop
和onDestroy
等回调方法。 -
启动模式:掌握Activity的几种启动模式(如standard、singleTop、singleTask、singleInstance)及其使用场景。
-
任务栈(Task):了解Activity如何组织在任务栈中,以及如何在不同的任务栈中启动Activity。
-
Intent和IntentFilter:理解Intent的作用以及如何通过IntentFilter匹配Intent来启动Activity。
-
动画效果:掌握如何为Activity的进入和退出设置动画效果。
-
与Service的关系:理解Activity与Service的交互方式,以及Service的生命周期和启动方法。
-
数据保存与恢复:了解Activity在进程被系统回收时如何保存数据,以及数据如何恢复。
-
配置更改:掌握Activity在配置更改(如横竖屏切换)时的行为和数据保存机制。
-
启动流程:理解Activity的启动流程,包括Intent的传递和Activity的创建。
-
对话框形式:了解Activity是否可以设置为对话框形式,以及如何实现。
-
Window和DecorView:了解Activity、Window、DecorView、ViewRootImpl之间的关系和作用。
-
内存管理:掌握如何避免在Activity中使用AsyncTask时造成的内存泄漏问题。
-
Fragment交互:理解如何在Activity中动态添加Fragment,以及Fragment的
replace
和add
方法的区别。 -
优化启动速度:知道如何优化Activity的启动速度,包括可能的优化方向。
-
退出机制:掌握如何安全退出Activity和整个应用程序。
这些考点涵盖了Activity的基本概念、生命周期管理、与其他组件的交互以及性能优化等多个方面,是Android开发面试中的热点问题。