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

相关文章

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

C++中初始化二维数组的几种常见方法

《C++中初始化二维数组的几种常见方法》本文详细介绍了在C++中初始化二维数组的不同方式,包括静态初始化、循环、全部为零、部分初始化、std::array和std::vector,以及std::vec... 目录1. 静态初始化2. 使用循环初始化3. 全部初始化为零4. 部分初始化5. 使用 std::a

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

电脑死机无反应怎么强制重启? 一文读懂方法及注意事项

《电脑死机无反应怎么强制重启?一文读懂方法及注意事项》在日常使用电脑的过程中,我们难免会遇到电脑无法正常启动的情况,本文将详细介绍几种常见的电脑强制开机方法,并探讨在强制开机后应注意的事项,以及如何... 在日常生活和工作中,我们经常会遇到电脑突然无反应的情况,这时候强制重启就成了解决问题的“救命稻草”。那

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Python中的魔术方法__new__详解

《Python中的魔术方法__new__详解》:本文主要介绍Python中的魔术方法__new__的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、核心意义与机制1.1 构造过程原理1.2 与 __init__ 对比二、核心功能解析2.1 核心能力2.2

Python Transformer 库安装配置及使用方法

《PythonTransformer库安装配置及使用方法》HuggingFaceTransformers是自然语言处理(NLP)领域最流行的开源库之一,支持基于Transformer架构的预训练模... 目录python 中的 Transformer 库及使用方法一、库的概述二、安装与配置三、基础使用:Pi