Activity的生命周期

本文详细介绍了Android中Activity的三种重要状态:Resumed、Paused和Stopped,并通过实例代码展示了Activity生命周期内的关键方法及其调用时机。此外,还阐述了Activity的三个主要生命周期阶段:完整周期、可见周期和前台周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个Activity的三个重要状态

Resumed: activity 在屏幕的前面并且获得焦点

Paused:当另外一个Activity显示在当前Activity前面并且当前Activity仍有可见部分,当前Activity进入了该状态,该Activity保存了状态和成员信息,保持着继续被window manager管理, 当系统出现内存极度匮乏的状态时,该Activity 被kill掉.

Stopped:当另外一个Activity显示在当前Activity前面并且当前Activity完全被遮挡不可见,该Activity保存了状态和成员信息,不再被window manager管理, 当系统出现内存极度匮乏的状态时,该Activity 被kill掉.

 

如果Activity在Paused或Stopped状态,调用该Activity的finish()或杀死该进程,系统能够从内存中去掉它.当Activity再次被开启时,必须要重新创建其所有该创建的.


public class ExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}

@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
}

@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
}

@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be
// "paused").
}

@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
}

@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
}
}

上述定义了Activity生命周期的实现方法,这些方法必须实现父类的相关方法,否则会抛出异常, 看了下Activity的实现,基本上就是OnCreate()和onDestroy()有些具体操作,在onDestroy()中对对话框和cursor的关闭操作.现在的在Activity实现中对于cursor的操作已经建议去掉该API

 

Activity的三个生命周期:

完整周期:在onCreate()开始,在onDestroy()结束,定义布局 开启线程下载网络数据在onCreate(),释放资源 关闭该线程在onDestroy().

可见周期:在onStart()开始,在onStop()结束, 在这个其中能够看见该Activity并且与其进行交互操作 例如注册一个BroadcastReceiver 在onStart()去监控当前UI的变化, 在onStop()中注销该BroadcastReceiver .在一个完整周期内可能会出现多次这种成对出现的操作,当前Acitivity在可见和不可见之间转换的时候就出现一次这种成对操作.

前台周期:在onResume()开始,在onPause()结束,当进入睡眠或对话框出现时会进入onPause()状态,以此来保存需要保存的信息,建议在这两个函数中进行一些轻量级的操作,以免显示缓慢影响用户体验.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值