Android相关面试题---初识
一 、Activity的生命周期
Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里的活动的集合,这个栈也被称为返回栈(Back Stack)。每当我们启动一个新的活动,它会在返回栈中入栈,并处于栈顶位置。当我们按下back键或调用finish方法去销毁一个活动时,处于栈顶的活动会出栈,这时前一个入栈的活动会重新处于栈顶。系统总是会显示处于栈顶的活动给用户。
Activity的四种状态
1 运行状态
当一个活动处于返回栈的栈顶时,就处于活动状态。
2 暂停状态
当一个活动不再处于栈顶,但是仍然可见时,活动就进入了暂停状态。
3 停止状态
当一个活动不再处于栈顶位置,并且完全不可见的时候,就处于停止状态。
4 销毁状态
当一个活动从返回栈中移除,就变成了销毁状态。
Activity中定义了7个回调方法,覆盖了活动的生命周期每一个环节。
1 onCreate 此方法会在第一次创建活动时调用,应该在里面完成初始化操作,如加载布局等等。
2 onStart 这个方法在活动由不可见变为可见时调用
3 onResume 这个方法在活动准备好和用户交互时调用,此时活动一定处于栈顶,并处于运行状态。
4 onPause 这个方法在活动准备启动或恢复另一个活动时调用。
5 onStop 这个方法在活动变为完全不可见时调用
6 onDestroy 这个方法在活动被销毁前调用,之后活动状态变为销毁。
7 onRestart 这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。
活动在onCreate和onDestroy方法之间经历的叫做完整生存期。
活动在onStart和onStop之间经历的叫可见生存期
活动在onResume和onPause方法之间经历的叫前台生存期
二、Activity的启动模式。
活动的启动模式一共有四种,分别是standard,singleTop,singleTask和singleInstance。可以在AndroidManifest.xml文件中通过给activity标签指定launchMode来设置。
1 standard 模式
此模式是activity的默认启动模式。此模式下每启动一个活动,都会在返回栈中入栈,并处于栈顶位置。使用此模式的活动,当需要创建时,系统不会检查之前是否创建过,每次都创建一个新的。
2 singleTop 模式
此模式下,当系统发现活动已经在栈顶,创建一个新活动时,就会直接用栈顶的活动。但是当活动不处于栈顶时,创建时仍然会创建新的活动实例。
3 singleTask 模式
使用此模式可以很好地解决反复创建的问题。但是此模式使用时需要注意,当活动不处于栈顶时,再次创建活动时会直接将活动推至栈顶,并且将此活动之上的所有活动出栈。
4 singleInstance 模式
此模式不同于以往三个模式。此模式下会启用一个新的返回栈来管理这个活动。此模式可以用于其他程序相与当前程序共享这个活动实例时使用。
上述转载来自:https://blog.csdn.net/Kongou/article/details/80465577
转载于:https://www.cnblogs.com/hjylxh/p/10724423.html
Android相关面试题---初识相关推荐
- android广播面试题,Android相关面试题
面试过程中遇到的题集,都会摘要记录下来 一,Java部分 1.什么是反射? 2.反射的实现原理是什么? 3.Java线程sleep join yield wait notify notifyAll 4 ...
- Android相关面试题
目录 1.SharedPreferences是线程安全的吗?它的commit()方法和apply()方法有什么区别?它有什么缺点?有没有类似更好的方案?<
- Kotlin相关面试题
目录 一.请简述下什么是kotlin?它有什么特性? 二.密封类与枚举的区别? 三.Kotlin 中注解 @JvmOverloads 的作用? 四.Kotlin中的MutableList与List有什 ...
- Android性能优化面试题,与性能优化相关面试题 - 与IPC机制相关面试题 - 《Android面试宝典》 - 书栈网 · BookStack...
源码分析相关面试题 Activity相关面试题 与XMPP相关面试题 与性能优化相关面试题 与登录相关面试题 与开发相关面试题 与人事相关面试题 与人事相关面试题现在三四月份,金三银四最好找工作时间, ...
- 关于android相关开发资料的整理
权限 适配Android6.0动态权限管理 FcPermissions:也许是目前最好的动态权限请求库 Android 开发技巧 - Android 6.0 以上权限大坑和权限检查基类封装 Andro ...
- android开发面试题!微信小程序趋势及前景,社招面试心得
没有稳定的工作,只有稳定的能力. 又到了万物复苏的季节,在程序猿这个行当里,作为 Android 开发出生的,在经历了八年的脱发生涯后,有了越来越多的想法和感触 趋势 随着各类移动跨平台的兴起,在 R ...
- Android 最全面试题汇总(问题+答案+详解链接)
大厂的Android面试一般不简单,基本都会涉及Java.算法,当然也移不开Android的题目. 本文主要涉及Android相关的问题,之后我会陆续公布Java,以及算法的相关面试题总结. 目录 一 ...
- 超级准确的Android/JAVA面试题合集,背会你就10k!
原文转自:点击打开链接 欢迎访问 我的个人博客 Android常见的问题 常见算法问题的 Java 实现 资料可见 算法介绍可见 算法是很多公司面试必须,国内 BAT 基本面试中都会有,尤以百度为盛. ...
- 秋招Android常见笔试题合集--Binrry(冰蕊)
阅文集团笔试题 单选题 数组初始化 给定如下代码:int x[4]={0};int y[4]={1};数组x和y的值为: {0,0,0,0},{1,0,0,0} 十进制30转换成十六进制数是: 1E ...
最新文章
- 【linux】ARM开发板上设置RTC时间,断电重启后,设置失效的原因分析
- 总结2021面试中的常见14种算法套路
- Java笔记--实时更新
- r语言模型评估:_情感分析评估:对自然语言处理的过去和未来的反思
- 关于varchar2在pl/sql和schema级别的最大值
- 肖仰华 | 基于知识图谱的用户理解
- C语言之设计模式——单例模式
- 网络基础知识(面试基础)
- Convert Sorted Array to Binary Search Tree(将有序数组转为二叉搜索树)
- .java和.class的区别_Java中class与Class有什么区别
- 简述神经网络学习过程
- 第三方浏览器内核嵌入一、Crosswalk
- 二进制数的补码及运算
- 泛型指的是什么?有什么作用?
- 实验室常用培养基配置 LB LA
- 啧啧啧。。。加壳失败
- window下命令查看cup和内存型号信息
- 51单片机之点阵、矩阵键盘
- IP地址分类(ABCDE)
- 苹果手机充电口接触不良怎么办_充电口盖子打不开、充电枪拔不下来怎么办?...
热门文章
- WebView的截屏实现
- hdfs.DFSClient: Exception in createBlockOutputStre
- iptables中state模块的连接状态
- ThinkPHP的安装
- 445 - Marvelous Mazes
- Android的Activity屏幕切换动画(一)-左右滑动切换
- 在安装完成oracle的时候,需要su - oracle,但有时候出现ulimit pize...
- 关于MySQL redo log,挖些坑,慢慢填
- App小样在手机运行了一下
- Binder相关面试总结(五):为什么Activity间传递对象需要序列化