Activity的生命周期

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情


一,生命周期图


二,几点说明

1,每一个活动的Activity 都处于某一个状态,对于开发者来说,是无法控制其应用程序处于某一个状态的,这些均由系统来完成。

2,但是当一个活动的状态发生改变的时候,开发者可以通过调用 onXX() 的方法获取到相关的通知信息。


三,几大方法

1,onCreate :Activity第一次被实例化的时候系统会调用,整个生命周期只调用1次该方法。
     通常用于初始化设置: 1、为Activity设置所要使用的布局文件。2、为安卓控件绑定监听器等静态的设置操作。

2,onStart(可见不可交互):当Activity可见未获得用户焦点不能交互时系统会调用。

3,onResume(可见可交互) :当Activity和用户发生交互的时候,触发该方法。

4,onPause (有一点可见不能交互):当一个正在前台运行的Activity因为其他的Activity需要前台运行而转入后台运行的时候,触发该方法。

5,onStop(不可见不能交互):当Activity被其他的Activity完全覆盖不可见时,触发该方法,如果内存紧张,系统会直接结束这个Activity,而不会触发 onStop 方法。

6,onRestart (由不可见到可见):当处于停止状态的Activity需要再次展现给用户的时候,触发该方法。

7,onDestroy :当Activity(用户调用finish()或系统由于内存不足)被系统销毁时调用,(整个生命周期只调用1次)用来释放onCreate ()方法中创建的资源,如结束线程,清空数据,注销广播等。和 onStop 方法一样,如果内存紧张,系统会直接结束这个Activity而不会触发该方法。


四,保存数据和提取数据

因为onstop和onDestroy 都有可能因为系统内存紧张而不执行,所以建议保存数据的方法就是肯定会执行的onPause

一般在onPause()方法里面保存数据,在onResume()里面提取数据。

     a、保存数据

  1. //暂停:onStart()->onResume()->onPause()
  2.     @Override    
  3.     protected void onPause() {        
  4.         super.onPause();
  5.         Log.e("Lifecycle_Activity1", "onPause()");
  6.         
  7.         //把数据保存到类似于Session之类的存储集合里面
  8.         SharedPreferences.Editor saveData = getPreferences(0).edit();
  9.         saveData.putString("value", et_string.getText().toString());
  10.         saveData.commit();
  11.     }
       b、提取数据
  1. //重启:onStart()->onResume()
  2.     @Override    
  3.     protected void onResume() {        
  4.         super.onResume();
  5.         Log.e("Lifecycle_Activity1", "onResume()");
  6.         
  7.         //从共享数据存储对象中获取所需的数据
  8.         SharedPreferences getData = getPreferences(0);
  9.         String value = getData.getString("value", null);
  10.         if(value != null) {
  11.             et_string.setText(value);
  12.         }
  13.     }
五,代码(简单的两个activity看看方法的执行顺序什么的)

http://download.csdn.net/detail/superjunjin/8539511


AndroidActivity生命周期 关于安卓activity生命周期的一些理解,结合demo分析,在多个activity之间,跳转到窗口化activityactivity状态变化过程 阅读详情

相关推荐

Activity 跳转的生命周期变化

1)Activity1跳转到Activity2的生命周期流程 1.Activity1启动: Activity1: onCreate() Activity1: onStart() Activity1: onResume() 2.点击按钮跳转到Activity2: Activity1: onPause() Activity2: onCreate() Activity2: onStart() Activity2: onR

GracefulGuigui的博客 1966

Activity生命周期

Activity生命周期 Activity生命周期对于Android开发者来说是最熟悉不过的东西了,回过头看安卓基础总结一下看的内容 Activity常用的生命周期有以下七个,onCreate、onRestart、onStart、onResume、onPause、onStop、onDestroy 常用生命周期 方法名 简介 onCreate 表示Activity正在被创建,这也是...

睡客的博客 2万+

Android ActivityActivity生命周期

onCreate:表示Activity正在被创建。生命周期的第一个方法,当打开一个activity时首先回调这个方法。在这个方法中一般做一些初始化工作,例如加载界面布局资源(setContentView)、数据初始化(findviewbyid)onRestart: 表示Activity正在被重新启动。当前activity从不可见变为可见状态时这个方法就会回调。

dev晴天的博客 1万+

Activity生命周期(Activity弹出Dialog会触发Activity生命周期吗)

Activity弹出Dialog对生命周期有什么影响_weixin_43976036的博客-CSDN博客_activity弹出dialog生命周期Activity弹出 Dialog 对生命周期有什么影响我们知道,生命周期回调都是 AMS 通过 Binder 通知应用进程调用的;而弹出 Dialog、Toast、PopupWindow 本质上都直接是通过 WindowManager.addView() 显示的(没有经过 AMS),所以不会对生命周期有任何影响。如果是启动一个 Theme 为 Dialog 的

C++ JAVA的专栏 4260

Activity生命周期基础篇

Activity生命周期的基础篇 本篇主要讲解一个Activity生命周期和多个Activity交互的生命周期Activity,一个页面加载出来就是通过Activity这个载体。 先来说以I行啊一个Activity生命周期。我们在环境中创建一个Activity的时候,执行的方法及顺序是onCreate--->onStart--->onResume,当到onResume的时候Act

程序员成长指北 4031

ActivityActivity生命周期

Android四大组件五大布局。四大组件是:   Activity对于初学者来说是接触最多的一个,当然我也是,Activity是应用程序的表现层,应用程序中每个屏幕的显示都通过继承和扩展Activity类来实现。App中多个页面的切换即是通过多个Activity的相互跳转来完成的。一般情况下,一个Activity类中就需要为它设置一个View,这样我们可以认为这个Activity代表这个界面。

QuietShake的博客 958

Activity生命周期理解笔记

Activity生命周期理解笔记

u013405006的专栏 1732

activity生命周期详解

activity生命周期可分为以下3种: (1)完整生命周期,始于onCreate终于onDestroy,所有的全局变量和控件初始化都应该在onCreate完成,在onDestroy应该释放所有的资源。 (2)可见生命周期,始于onStart终于onStop,在这个生命周期里,activity可能不能和用户进行交互,但却是可见的,这两个方法会被调用多次。 (3)前台生命周期,始于onResume终于onPause,此时activity位于屏幕的最上层并且可以和用户进行交互,这两个方法也会被频繁的调用。

HyHarden的博客 1716

Activity生命周期详解

目录 问题一:Activity A启动另一个Activity B会回调哪些方法?如果Activity B是完全透明呢?如果启动的是一个Dialog呢? 问题二:谈谈onSaveInstanceState()方法?何时会调用? 问题三:横竖屏切换时,Activity的声明周期如何变化 源码展示: 1、style.xml 2、AndroidManifest.xml 3、FirstActi...

songzi1228的博客 521

activity生命周期

1.单个activity生命周期activityandroid的四大组件之一,负责界面内容,给用户提供交互接口。映射到mvc模型中,activity相当于view。图1.1描述了activity的基本的生命周期。 如图所示,activity在存在期间,会回调onCreate,onStart,onResume,onPause, onStop,onRestart,onSaveI

没有翅膀的鱼 1715
上一篇: 有关于android模拟器的问题(不定期更新)
下一篇: Fragment实例
superjunjin
博客等级 码龄17年 600粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值