Android工具箱之Activity生命周期

这是一个系列,咱们将其命名为工具箱,若是你尚未看以前的文章:segmentfault

Android工具箱之Context解析app

Android工具箱之文件目录工具

Android工具箱之组织你的代码文件this

Android工具箱之理解app资源文件spa

Android工具箱之迁移到AppCompatcode

Android工具箱之Android 6.0权限管理blog

Activity的生命周期

背景

用户打开app,浏览页面,Android机器在栈内维护activitys。当前呈现给用户的activity老是在栈顶。生命周期

activity的生命周期一般有这四个:图片

  • Running activity处于栈顶,正在运行资源

  • Paused activity仍然可见,可是不和用户交互

  • Stopped activity再也不可见

  • Killed activity被系统杀死或者主动调用了onfinish()方法。

activity生命周期

咱们能够看一看这张图:

图片描述

注意:onresume和onpause,onPause和onStop的区别。在onResume方法中,常常会写一些刷新数据或者其余非耗时操做,一样onPause也是在activity结束以前,作相关的保存数据工做。onPause和onStop的区别,根据上图就可知,onPause的时候,activity仍然可见,但onStop的时候,activity彻底不可见。那么在何时会执行onPause,不执行onStop呢,答案是在展示Dialog或者其余浮层的时候。

调用父类方法

你应该在写oncreate方法以前调用父类方法,这一样也是Java规范。在onPause方法以后调用父类方法。原则是初始化以前是先调用父类方法,结束以前是后调用父类方法。

public void onCreate() {
   super.onCreate();
   // do work after super class function
   // setContentView(R.layout.main);
}

public void onPause() {
   // do work here first before super class function
   // LocalBroadcastManager.getInstance(this).unregisterReceiver(mMessageReceiver);
   super.onPause();
}
相关文章
相关标签/搜索