Android 面试题及知识点

Activity

四大组件之一,通常一个用户交互界面对应一个Activity。 Activity 是Context的子类,同时实现了window.callback和 keyevent.callback,可以处理与窗体用户交互的事件。常见的 Activity 类型有 FragmentActivitiy,ListActivity,TabAcitivty 等。如果界面有共同的特点或者功能的时候,还会自己定义一个 BaseActivity。

</br>

请描述一下Activity的生命周期

Activity 从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:onCreate、 onStart 、onResume、onPause 、onStop、 onDestroy。其实这些方法都是两两对应的,onCreate 创建与 onDestroy 销毁;onStart 可见与 onStop 不可见;onResume 可编辑(即焦点)与 onPause;这 6个方法是相对应的,那么就只剩下一个 onRestart 方法了,它是在在 Activity 被 onStop 后,但是没有被 onDestroy,在再次启动此 Activity 时就调用 onRestart(而不再调用 onCreate)方法;如果被 onDestroy 了,则是调用 onCreate 方法。

</br>

两个Activity之间跳转必然会执行哪几个方法

一般情况下比如说有两个 activity,分别叫 A,B,当在 A 里面激活 B 组件的时候, A 会调用 onPause()方法,然后 B 调用onCreate()、onStart()、onResume()。这个时候 B 覆盖了窗体, A 会调用 onStop()方法.。如果 B 是个透明的,或者是对话框的样式, 就不会调用 A 的onStop()方法。

</br>

Activity横竖屏切换时的生命周期

此时的生命周期跟清单文件里的配置有关系。
  1、不设置 Activity 的 android:configChanges 时,切屏会重新调用各个生命周期默认首先销毁当前 Activity,然后重新加载。当横竖屏切换时先执行 onPause/onStop 方法,然后是onCreate、onStart、onResume。
  2、设置 Activity 的android:configChanges="orientation|keyboardHidden|screenSize"时,切屏不会重新调用各个生命周期,只会执行 onConfigurationChanged 方法。
  3、通常在游戏开发, 屏幕的朝向都是写死的。
</br>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Activity https://developer.android.com/guide/components/a...
    XLsn0w阅读 727评论 0 4
  • 本文出自 Eddy Wiki ,转载请注明出处:http://eddy.wiki/interview-androi...
    eddy_wiki阅读 3,310评论 0 20
  • 今天北京的天气难得的好,杨树柳子柳树条子白花花一片的日子眼见着要过去了。 推开楼下的门,被门口不知名的树惊呆了,玫...
    梦想家小鱼阅读 217评论 0 0
  • 搭建git服务器仓库 from my wp blog 安装git并创建git用户 添加证书登陆 将登陆用户的公钥i...
    Amrzs阅读 686评论 1 6