`

Android组件生命周期

阅读更多

组件生命周期

组件的生命周期是指组件从被构造运行开始,直至被销毁的整个时段内,组件状态的变化。

当组件状态发送变化时,Android系统会调用该组件对象的特定函数进行通知,开发者需要派生实现这些函数,对相关事件进行监听和处理,从而掌握组件的生命周期。

 

数据组件管理

对于只读数据,一般在Activity.onCreate()时进行数据加载,直到组件的Activity.onDestroy()函数调用时再释放。

对于读写数据,一般在Activity.onCreate()Activity.onResume时进行数据加载,在Activity.onPause写数据。因为Activity.onPause调用后,组件处于可回收状态,资源紧张时,可回收。

 

状态组件

状态数据是用户与界面组件交互过程产生的临时数据。不会被持久化。状态数据暂存内存,若组件被回收,数据将丢失。

为此,Android的界面组件提供了事件函数,帮助开发者保存状态数据。当系统将界面切离前台组件(Activity.onPause调用前),调用Activity.onSaveInstanceState,在该函数中,开发者可以将组件的状态写入参数onState中,onStateBundle类型。

Activity.onSaveInstanceState不会每次都调用,如用户点击回退键或者Activity.finish()主动调用时,因为这意味着当前的状态被用户主动放弃。

 

如果组件被回收,缓存的数据会在组件界面被重新构造时通过Activity.onCreate()传入。其中的savedInstanceState参数与onState参数对象完全一致。若savedInstanceState为空,说明是一次全新的构造,反之是恢复性构造。

savedInstanceState对象还可以通过Activity.onRestoreInstanceState()函数传入,开发者也可以在这里进行状态恢复。

 

为了降低开发者的负担,Android大部分系统组件实现了状态缓存。在Activity.onSaveInstanceState调用前,界面组件会遍历整个控件树,将各个组件的状态保存下来,等Activity.onRestoreInstanceState()函数调用时进行恢复。

 

线程管理

应用通常采用多线程设计,在后台执行耗时操作。Android组件生命周期没有对多线程提供良好的支持模型,需要开发者自主实现。

好的管理方案是:

 

将线程的句柄信息当做界面组件的状态信息保存下来,如果系统强行回收组件对象,则需要在组件再次构造时,根据缓存的线程的句柄信息找到该线程,从而避免线程泄露。

分享到:
评论

相关推荐

    Android组件的生命周期

    ### Android组件的生命周期详解 #### 一、Android系统框架及组件功能简介 Android是一个基于Linux内核的操作系统,专门设计用于移动设备。Android系统架构由多个层次组成,其中包括硬件抽象层(HAL)、运行时库、...

    Android四大基本组件介绍与生命周期

    Android四大基本组件介绍与生命周期 Android四大基本组件分别是Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器......

    Android-Disposer使用Android的生命周期轻松部署RxJava流

    在描述"Disposer:使用Android的生命周期轻松部署RxJava流"中,我们可以理解Disposer的核心功能是它与Android组件的生命周期紧密集成。这意味着当Activity或Fragment被销毁时,Disposer会自动取消相关的RxJava订阅,...

    Android-Android轻松实现生命周期绑定

    "Android-Android轻松实现生命周期绑定"的主题着重于如何更有效地处理这些组件的生命周期事件,以便在适当的时候执行相应的操作,同时避免潜在的问题。 Android的生命周期是指一个应用程序组件(如Activity或...

    Android生命周期Demo

    首先,Android生命周期是指一个Android组件(如Activity、Service等)在其存在期间经历的一系列状态变化。对于Activity,这些状态包括创建(Created)、启动(Started)、运行(Resumed)、暂停(Paused)、停止...

    android 组件Activity生命周期

    在Android开发中,理解Activity的生命周期对于管理应用的状态和资源至关重要。Activity是构成Android应用程序的主要构建块之一,它负责提供用户界面并处理与用户交互相关的事件。Activity的生命周期由一系列回调方法...

    Android编程组件及生命周期解析

    总结来说,理解并掌握Android组件的生命周期,合理管理数据和线程,是开发高质量Android应用的基础。开发者需要关注每个组件在生命周期中调用的方法,适当地保存和恢复状态,以及有效地利用多线程,这样才能保证应用...

    android涂鸦版 手写版代码.pdf

    "Android 涂鸦板应用开发" Android 涂鸦板应用开发...本节涵盖了 Android 开发的基本知识点,包括布局、SurfaceView 组件、onTouchEvent() 函数、Canvas 和 Paint 组件、Android 事件处理和 Android 组件生命周期等。

    浅谈Android生命周期

    在Android应用开发中,理解并掌握Android生命周期是至关重要的。Android生命周期是指一个Activity、Service、BroadcastReceiver或ContentProvider从创建到销毁的过程。每个组件都有其特定的生命周期方法,开发者需要...

    Android Activity生命周期

    此外,Activity 生命周期还与其他组件的生命周期相关,例如 Fragment、Service 等。理解 Activity 生命周期是 Android 开发的基础,掌握了 Activity 生命周期,可以更好地开发 Android 应用程序。 在实际开发中,...

    android的生命周期的例子

    在Android应用开发中,理解并熟练掌握Android组件(如Activity)的生命周期至关重要。生命周期是指一个组件从创建到销毁的整个过程,它涉及到一系列方法的调用,这些方法定义了组件在不同状态之间的转换。本例将深入...

    android Activity生命周期详解(图文)

    首先,Activity的生命周期是Android系统管理组件的核心机制,它包括了创建、启动、暂停、恢复和销毁等几个关键状态。每个状态的变化都对应着特定的方法调用,如`onCreate()`, `onStart()`, `onResume()`, `onPause()...

    android Service的生命周期

    Service的生命周期是其核心概念,理解并掌握Service的生命周期对于编写高效、稳定的Android应用至关重要。 Service的生命周期主要分为两个启动模式:bindService和startService。这两种方式对Service的生命周期有着...

    Android-简化Android组件之间的共享字段和通信以及可识别生命周期的自定义范围

    Android组件主要包括Activity、Service、BroadcastReceiver和ContentProvider,它们各自有特定的生命周期和职责。在实际开发中,我们常常需要在这些组件之间共享数据和进行通信,这通常是通过Intent、Bundle、静态...

    Android-Android生命周期监听工具库

    为了帮助开发者更有效地跟踪和控制这些组件的状态,出现了一类被称为"生命周期监听工具库"的辅助工具,如"Android-Android生命周期监听工具库"。这类库通常提供便利的方法来监控和管理应用程序的生命周期,以避免...

    android Activity生命周期

    在本篇文章中,我们将深入探讨“Android Activity生命周期”及其相关知识点。 首先,Activity的生命周期包括几个主要状态:初始状态(创建)、可见状态、前台运行状态、后台状态和销毁状态。这些状态之间的转换是由...

    Android-rxjava2retrofit2rxlifecycle2有生命周期感知的网络请求框架封装

    这样的框架不仅能处理复杂的网络请求逻辑,还能确保在Android组件的生命周期内正确管理网络任务,提供多文件上传、文件下载和下载进度等功能,从而提升应用的稳定性和用户体验。在实际项目中,这些技术的应用可以...

    Android的生命周期调用顺序

    生命周期是指一个应用程序组件(如Activity)从创建到销毁的整个过程,它涉及到各种方法的调用,这些方法的执行顺序构成了Android应用运行时的行为模式。本文将深入探讨Android的生命周期调用顺序,并通过实际的Demo...

    android activity 生命周期详细介绍

    为了更好地理解和掌握Activity的工作机制,本文将详细介绍Android Activity的生命周期及其各个阶段的状态转换,帮助开发者深入理解并正确管理Activity的生命周期。 ### 一、Android Activity生命周期介绍 #### 1. ...

Global site tag (gtag.js) - Google Analytics