安卓面经_安卓基础面全解析(1/30)Activity全解析

系列专栏:




本人是2020年毕业于广东工业大学研究生:许乔丹,有国内大厂CVTE和世界500强企业安卓开发经验,该专栏整理本人对常见安卓高频开发面试题的理解;

网上安卓资料千千万,笔者将继续维护专栏,一杯奶茶价格不止提供答案解析,更有专栏内容免费技术答疑。助您提高安卓面试准备效率,为您面试保驾护航!

正文开始⬇

Activity是Android四大组件之一,是面试官最喜欢问的。如果面试官问你:

  1. 请介绍Activity的生命周期?⭐⭐⭐⭐⭐
  2. 请介绍Activity的启动模式?⭐⭐⭐⭐
  3. 请说下切换横竖屏时 Activity的生命周期变化?⭐⭐⭐⭐
  4. 请介绍Activity的启动流程?(进阶题)⭐⭐⭐⭐
  5. 请介绍Android应用程序的启动流程?(进阶题)⭐⭐⭐⭐

看完以下几点回答,一定可以让面试官眼前一亮。

目录

  • 1、什么是Activity
  • 2、Activity的生命周期
    • 2.1 生命周期的几种常见情况
  • 3、切换横竖屏时,Activity的生命周期变化
    • 3.1 正常情况
    • 3.2 配置 android:configChanges
  • 4、Activity的启动模式
    • 4.1 四大启动模式
      • Standard
      • singleTop
      • singleTask
      • SingleInstance
    • 4.2 进阶题:谈谈四大启动模式对应的使用场景
    • 4.3 如何设置启动模式

1、什么是Activity

Activity(活动)是一个为实现交互而提供的Android应用组件。每个Activity都有一个窗口,该窗口可以全屏幕填充,也可以是一个小窗口浮动在其他窗口上。一个应用程序通常由多个Activity组成,它会指定应用程序中的某个Activity作为主Activity,这意味着当用户第一次启动应用程序时呈现给用户的活动,并且Activity可以相互跳转来执行不同的操作。

2、Activity的生命周期

先上一个官方图:

图片说明

在正常情况下,一个Activity从启动到结束会以如下顺序经历整个生命周期: onCreate()->onStart()->onResume()->onPause()->onStop()->onDestory()。包含了六个部分,还有一个onRestart()没有调用,我们先介绍这六部分内容,因为这六部分 两两对应。 初学者可以将这六部分这么记:创建一个活动->可以见到该活动显示在屏幕->该活动可以触摸操作->该活动停止,不可以操作->该活动从屏幕上消失,看不到了->该活动销毁。这六个步骤就和上面六个函数一一对应。

(1) Oncreate():创建:作为生命周期的第一种方法,仅在新的Activity创建时调用。在这个方法中,可以做一些初始化工作,比如加载接口布局资源和初始化活动所需的数据。

(2) OnStart():开始:表示Activity正在启动,并且即将启动。此时Activity已经出现,但还没有出现在前台,我们还不能交互。

(3) OnResume():活动:表示Activity已经出现在前台,可见可操作。

(4) OnPause():暂停:表示活动即将停止,仍然可见,但是不能操作了。

(5) OnStop():停止:表示活动停止,此时不可见,位于后台。

(6) OnDestory():销毁:表示活动即将被销毁。这是Activity循环的最后一个回调。你可以做一些回收工作和最后的资源回收。

最后介绍第七个生命周期onRestart:

(7) OnRestart():表示Activity重启。在正常情况下,当Activity从不可见状态切换到可见状态,也就是onStop()到onStart()之间,就会调用OnRestart()。这种情况一般是由用户行为引起的。例如,用户在这个活动切换到桌面或打开另一个新的活动,然后用户返回到这个活动。

2.1 生命周期的几种常见情况

①启动ActivityA:onCreate()->onStart()->onResume()

②打开新的ActiviyB的时候,上述ActivityA的回调如下:onPause()->onStop()

③接着再次回到原ActivityA时,ActivityA的回调如下:onRestart()->onStart()->onResume()

④按back键回退ActivityA时,Activ

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Android高频面试题全解析 文章被收录于专栏

#提供免费售后答疑!!花一杯奶茶的钱获得安卓面试答疑服务,稳赚不赔# Android发展已经很多年,安卓资料网上千千万,本专栏免费提供专栏内容技术答疑!!私聊当天必回。在阅读过程或者其他安卓学习过程有疑问,都非常欢迎私聊交流。

全部评论
满满的干货,感谢分享
2 回复 分享
发布于 2022-09-11 18:24 陕西
2.1中⑥,finlish的回调和不应该也是pause->stop->destroy吗
1 回复 分享
发布于 2024-04-13 01:43 陕西
需要启动流程
点赞 回复 分享
发布于 10-20 17:15 河北
本篇没有介绍activity启动流程
点赞 回复 分享
发布于 2024-02-19 11:10 北京
4.2 进阶题:谈谈四大启动模式对应的使用场景 TODO完成了吗?
点赞 回复 分享
发布于 2023-09-24 17:45 北京
棒:节约时间、查漏补缺、疑惑解答 期待更新,希望加速
点赞 回复 分享
发布于 2023-02-13 09:50 广东

相关推荐

评论
4
16
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务