Android开发——activity类中的回调方法中的7个生存期

2023-12-22 00:20

本文主要是介绍Android开发——activity类中的回调方法中的7个生存期,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、onCreate()
这个方法在每个活动中都能进行重写,他会活动在第一次被创建的时候调用。在这个方法中完成活动的初始化操作,如:加载布局、绑定事件等
2、onStart()
这个方法在活动由不可见变为可见的时候调用
3、onResume()
这个方法在活动中准备好和用户进行交互的时候调用。此时活动一定位于返回栈的栈顶,并且处于运行状态。
4、onPause()
这个方法在系统准备启动或者恢复另一个活动的时候调用。我们通常会在这个方法中将一些消耗 CPU 的资源释放掉,以及保存一些关键数据,但这个方法的执行速度一定要快,不然会影响到新的栈顶活动的使用。
5、onStop()
这个方法在活动完全不可见的时候调用。它和 onPause()方法的主要区别在于,如
果启动的新活动是一个对话框式的活动,那么 onPause()方法会得到执行,而 onStop()。
方法并不会执行
6、onDestroy()
这个方法在活动被销毁之前调用,之后活动的状态将变为销毁状态。
7、onRestart()
这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重新启动了。

以上七个方法中除了 onRestart()方法,其他都是两两相对的,从而又可以将活动分为三
种生存期。

  1. 完整生存期
    活动在 onCreate()方法和 onDestroy()方法之间所经历的,就是完整生存期。一般情
    况下,一个活动会在 onCreate()方法中完成各种初始化操作,而在 onDestroy()方法中完
    成释放内存的操作。
  2. 可见生存期
    活动在 onStart()方法和 onStop()方法之间所经历的,就是可见生存期。在可见生存
    期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。我们可以通过这两
    个方法,合理地管理那些对用户可见的资源。比如在 onStart()方法中对资源进行加载,
    而在 onStop()方法中对资源进行释放,从而保证处于停止状态的活动不会占用过多内存。
  3. 前台生存期
    活动在 onResume()方法和 onPause()方法之间所经历的,就是前台生存期。在前台
    生存期内,活动总是处于运行状态的,此时的活动是可以和用户进行相互的,我们平时
    看到和接触最多的也这个状态下的活动。
    为了帮助你能够更好的理解,Android 官方提供了一张活动生命周期的示意图,如图 2.20
    所示。
    在这里插入图片描述

这篇关于Android开发——activity类中的回调方法中的7个生存期的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/522029

相关文章

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri