欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android Activity的生命周期详细介绍

程序员文章站 2023-12-13 11:07:04
android activity的生命周期详细介绍 生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中,会针对不同的生命阶段调...

android activity的生命周期详细介绍

生命周期描述的是一个类从创建(new出来)到死亡(垃圾回收)的过程中会执行的方法。在这个过程中,会针对不同的生命阶段调用不同的的方法。

       activity是android中四大组件之一,是最常见的应用组件,也是用的最多的组件,它能够提供一个界面与用户进行交互。activity从创建到销毁有多种状态,从一种状态到另一种状态时会激发相应的回调方法,这些回调方法包括:oncreate  ondestory  onstart  onstop  onresume  onpause。这些方法都是两两对应的,oncreate-->创建与ondestory-->销毁;onstart-->可见与onstop-->不可见;onresume-->可编辑(焦点)和onpause-->未获得焦点。最后还有一个方法是onrestart,这个方法在什么时候调用呢?当activity被onstop后,但是并没有ondestory,即并没有被销毁时,用户重新回到当前activity时,就调用onrestart方法,这里就不再是调用oncreate方法了。


public class mainactivity extends actionbaractivity { 
  private final static string tag = "mainactivity"; 
  @override 
  // activity被创建时调用 
  protected void oncreate(bundle savedinstancestate) { 
    super.oncreate(savedinstancestate); 
    setcontentview(r.layout.activity_main); 
    log.e(tag, "oncreate......."); 
  } 
  @override 
  // 该状态用户可见,但是用户还不能与之进行交互 
  protected void onstart() { 
    super.onstart(); 
    log.e(tag, "onstart......."); 
  } 
  @override 
  // 该状态是activity获得用户焦点,用户可以与之进行交互 
  protected void onresume() { 
    super.onresume(); 
    log.e(tag, "onresume......."); 
  } 
  @override 
  //与onresume对应,当activity失去焦点时调用 
  protected void onpause() { 
    super.onpause(); 
    log.e(tag, "onpause......."); 
  } 
  @override 
  //与onstart对应,当activity不可见时调用 
  protected void onstop() { 
    super.onstop(); 
    log.e(tag, "onstop......."); 
  } 
  @override 
  //与oncreate对应,当activity被销毁时调用 
  protected void ondestroy() { 
    super.ondestroy(); 
    log.e(tag, "ondestroy......."); 
  } 
  @override 
  //activity从后台重新回到前台调用 
  protected void onrestart() { 
    super.onrestart(); 
    log.e(tag, "onrestart......."); 
  } 
} 

       activity的完整生命周期:oncreate-->onstart-->onresume-->onpause-->onstop-->ondestory。用户在点击返回键的时候,activity会销毁,这时activity先是不可编辑,再是不可见,最后被销毁。而当用户点击home键的时候,即表示退回到桌面,这时的activity并不会被销毁,所以这里现实不可编辑,再是不可见,这时并不会调用ondestory方法被销毁,此时再点击进入该应用,会调用onrestart方法,不再是调用activity,然后再是调用onstart,onresume。

       下面是activity的生命周期图:

Android Activity的生命周期详细介绍

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

上一篇:

下一篇: