Android Activity的生命周期详细介绍

 更新时间:2017年02月28日 11:32:09   投稿:lqh  
这篇文章主要介绍了Android Activity的生命周期详细介绍的相关资料,需要的朋友可以参考下

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自定义view实现推箱子小游戏

    android自定义view实现推箱子小游戏

    这篇文章主要为大家详细介绍了android自定义view实现推箱子小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-04-04
  • Android中的二维码生成与扫描功能

    Android中的二维码生成与扫描功能

    二维码在我们身边真的非常普遍,今天小编给大家分享二维码生成与扫描功能,依然使用目前比较流行的zxing方法,具体实现思路大家通过本文一起学习吧
    2017-01-01
  • Android WorkManager实现后台定时任务流程详解

    Android WorkManager实现后台定时任务流程详解

    WorkManager是Android Jetpack的一个强大的组件,用于处理后台耗时任务。后台任务可以是一次性的,也可以是重复的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习吧
    2023-01-01
  • Android中的导航navigation的使用详细步骤

    Android中的导航navigation的使用详细步骤

    在Android中,导航主要通过使用Navigation SDK来实现,该SDK提供了一组工具和组件,可以帮助开发人员构建具有一致性和可访问性的用户界面,这篇文章主要介绍了Android中的导航navigation的使用详细步骤,需要的朋友可以参考下
    2024-04-04
  • Flutter给控件实现钻石般的微光特效

    Flutter给控件实现钻石般的微光特效

    这篇文章主要给大家介绍了关于Flutter给控件实现钻石般的微光特效的相关资料,实现的效果非常不错,非常适合大家做开发的时候参考,需要的朋友可以参考下
    2021-08-08
  • Android常用的图片加载库

    Android常用的图片加载库

    本文主要介绍了Android常用的图片加载库的相关资料。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • 浅谈Android Studio导出javadoc文档操作及问题的解决

    浅谈Android Studio导出javadoc文档操作及问题的解决

    这篇文章主要介绍了浅谈Android Studio导出javadoc文档操作及问题的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android实现疯狂连连看游戏之开发游戏界面(二)

    Android实现疯狂连连看游戏之开发游戏界面(二)

    这篇文章主要为大家详细介绍了Android实现疯狂连连看游戏之开发游戏界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Android标题栏最右边添加按钮的实例

    Android标题栏最右边添加按钮的实例

    这篇文章主要介绍了Android标题栏最右边添加按钮的实例的相关资料,希望通过本文大家能掌握如何操作,需要的朋友可以参考下
    2017-09-09
  • Android开发实现popupWindow弹出窗口自定义布局与位置控制方法

    Android开发实现popupWindow弹出窗口自定义布局与位置控制方法

    这篇文章主要介绍了Android开发实现popupWindow弹出窗口自定义布局与位置控制方法,涉及Android弹出窗口功能、布局及属性设置相关操作技巧,需要的朋友可以参考下
    2017-09-09

最新评论