这是一个系列,咱们将其命名为工具箱,若是你尚未看以前的文章:segmentfault
Android工具箱之Android 6.0权限管理blog
用户打开app,浏览页面,Android机器在栈内维护activitys。当前呈现给用户的activity老是在栈顶。生命周期
activity的生命周期一般有这四个:图片
Running activity处于栈顶,正在运行资源
Paused activity仍然可见,可是不和用户交互
Stopped activity再也不可见
Killed activity被系统杀死或者主动调用了onfinish()方法。
咱们能够看一看这张图:
注意: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(); }