Activity

1.什么是Activity?

activity翻译过来是活动的意思,顾名思义,在android设备上的活动主要就是人机之间的交互,是android系统去处理屏幕上的各种操作,activity就承担了这样一个角色。

2.生命周期

acyivity的生命周期笼统的可以分为一下几种状态:

  1. running
  2. paused
  3. stopped
  4. killed

onCreate()

这是activity创建时申明周期,可以用来初始化一些数据。

onStart()

这是activity启动的时候的生命周期,这时的activity的我们已经可以看见了,但是还不能进行交互。

onResume()

这时的activity已经可以和用户进行交互了

onPause()

这个状态是activity处于可见不可交互的状态,就比如在activity上面弹出一个dialog弹框,使得activity不可以字节与用户交互。

onStop()

activity完全不可见了,处在后台运行。

onDestroy()

这是activity的最后一个生命周期,表示当前的activity正在被销毁,这里我们可以做一些资源的释放。

onRestart()

这是一个过度的生命周期,用于onStop → onStart过度的时候。

3.几种操作下的activity生命周期变换

  • 点击Home键时

onPause → onstop

  • 再次打开activity时

onRestart → onStart → onResume

  • 退出activity时

onPause → onStop → onDestroy

  • 横竖屏切换时

会先销毁原activity,onPause → onStop → onDestroy
然后新建activity, onCreate → onStart→ onResume

4.进程优先级

  • 前台进程

正在前台与用户进行交互的activity或者是前台进程绑定的service

  • 可见进程

用户可见但不可交互

  • 服务进程

在后台执行的service

  • 后台进程

用户点击Home键,使得当前程序进入后台

  • 空进程

优先级最低的进程,如果进程不属于上面四种,那么他就是空进程

我知道的Activity相关推荐

  1. 2020-02-14 转载 开发应该知道的Linux系统分析-网络篇

    开发应该知道的Linux系统分析-网络篇 原文地址:https://cloud.tencent.com/developer/article/1583803 常用网络工具有: 通过ping命令检测网络的 ...

  2. 你应该知道的50个项目管理术语(上)

    点击此处即可免费领取DevOps资料~ 项目管理是大多数职业的重要技能.它是实现项目目标的过程.知识.技能和经验的应用.项目管理的主要组成部分是: 概述项目必不可少的基础. 确定项目要求.可交付成果的 ...

  3. 为数不多的人知道的 Kotlin 技巧及解析(三)

    本文没有什么奇淫技巧,都是一些在实际开发中常用的技巧 Google 引入 Kotlin 的目的就是为了让 Android 开发更加方便,自从官宣 Kotlin 成为了 Android 开发的首选语言之 ...

  4. 为数不多的人知道的AndroidStudio快捷键(二)

    为数不多的人知道的AndroidStudio快捷键(二) 这篇文章将会继续分享一些实用的快捷键,没有看过为数不多的人知道的AndroidStudio快捷键(一),可以点击下方连接前往 为数不多的人知道 ...

  5. 每一位Android开发者应该知道的Android体系架构和开发库

    Android的体系架构鼓励组件重用,允许开发者发布共享Activity.Service并且访问其他应用程序的数据,还可以根据开发者制定的安全限制进行管理.话虽如此,今天我将分享一些关于Android ...

  6. 关于Android封装一个全局的BaseActivity你需要知道的

    关于Android封装一个全局的BaseActivity你需要知道的 1.前言 2.特点 3.代码及说明 3.1.优缺点 3.2.代码 3.3.注意点 4.总结 5.最后 1.前言 对于一个Andro ...

  7. HUB集线器测试软件,【视界网】只有大神才知道的USB集线器

    原标题:[视界网]只有大神才知道的USB集线器 USB集线器的设计是USB总线拓扑结构的必然产物.USB集线器具有如下几个功能: 1.连接功能 所有系统中的USB设备都是连接在USB集线器所提供的下游 ...

  8. 你应该知道的25个非常有用的CSS技巧

    在我们的前端CSS编码当中,经常要设置特殊的字体效果,边框圆角等等,还要考虑兼容性的问题, CSS网页布局,说难,其实很简单.说它容易,往往有很多问题困扰着新手,在中介绍了非常多的技巧,这些小技巧与知 ...

  9. 关于机器学习,你应该知道的3个热门专业术语

    https://www.toutiao.com/a6683842829510246923/ 2019-04-25 22:43:48 关于机器学习,你应该知道的3个热门专业术语 原创: 吴郦军.罗人千 ...

  10. 有哪些事情是你成为程序员之后才知道的?

    来源 | 三太子敖丙(ID:JavaAudition) 昨天我教练问我:"有哪些事情是你成为程序员之后才知道的."我就写下来了. 身穿一件微微起球的格子衫,背着工整的双肩包,头发乱 ...

最新文章

  1. java sessionid放入cookie_sessionID和cookie
  2. 因果图法的介绍与示例分析【转载】
  3. C++11中range-based for loops中与的区别
  4. php MySQL使用rand函数随机取记录(转)
  5. plsql创建、测试存储过程
  6. windows安装docker环境并配置镜像
  7. Python(九)- 音频文字转换
  8. 如何用Carbon Copy Cloner把macOS系统旧硬盘备份到新硬盘上?
  9. 我行我素购物管理系统(面向对象)
  10. 阿里矢量图标(字体图标) 、 阴影
  11. 英特尔核心显卡控制面板设置自定义分辨率
  12. matlab里方框一个叉号,怎么在word文档里添加小方框中打叉的符号
  13. vs2015开发在网页中调用的ocx控件详解(二)
  14. MySQL复习记录(二):MySQL基础知识与基本操作
  15. [WPS]一次性解决论文插图的题注与章节号对不上问题
  16. 为什么淘宝京东的首页这么快
  17. python io流a+_python io流
  18. 微信小程序如何实现同时授权用户信息和手机号码不重复授权问题
  19. 【python】批量修改文件名
  20. vue3+vite+element-plus

热门文章

  1. 倒车轨迹理论实现方法
  2. Openbravo中文使用手册
  3. initializationerror错误的解决
  4. Halcon区域形状特征-area_center、area_holes、select_shape、inner_circle和smallest_rectangle2算子
  5. 电子计算机和过去的计算工具相比,电子计算机与过去的计算工具相比,所具有的特点有()....
  6. 2021-07-19普中科技STM-32F1开发板初学
  7. 用matlab进行多项式通分,Matlab控制系统仿真基础
  8. 实例化Servlet类异常404、500错误-解决方法
  9. FaWave恢复twitter的办法
  10. 1.请求和响应(phalapi框架总结)