BaseActivity(Activity生命周期)
2015-06-30 15:57
375 查看
这篇文章主要介绍actiivty的生命周期,并献上平时项目中用到的一个类,个人觉得挺好的,代码如下:
public class BaseActivity extends Activity implements View.OnClickListener{
public static LinkedList mlist=new LinkedList();
@Override
}
这是我常用管理activity的一个类,好处在于你可以一次结束所有的activity,于此同时你可以遍历知道哪个activity还在栈中,onclick方法基本每个activity都会使用,减少代码量。下面来介绍activity的生命周期:
随着activty自身状态的变化,系统会调用相应的回调函数,也称呼为activity的生命周期,如下:
1、onCreate()—> 2、onStart()—> 3、onResume()—> 4、onPause()—>onSaveInstantceState()–> 5、onStop()—> onCreate()—>onStart()—>onRestoreInstanceState()—>onResume()
(注释) 以上为当A activity跳转到B activity并且跳转后A activity活动不保留,我们可以看到跳之前会暂停当前活动并保存当前用户数据(onSaveInstantceState()),停止当前活动,跳之后,A结束,当A再次回到前台进程时,A会再次执行oncreated,onstart(),恢复销毁前执行的onSaveInstantceState所保存的数据。其实主要强调(onSaveInstantceState(),onRestoreInstanceState())他们不在生命周期中,但是确实是被调用过,开发中可以利用一下。
当A跳转B时,A只是看不见的话并未消失的话,那么就不会再次执行oncreate(),而是执行的 6、onRestart(),也不会执行onRestoreInstanceState(),因为A活动并未消失,并未 7、OnDeatory().
以上7个就是activity的生命周期。
public class BaseActivity extends Activity implements View.OnClickListener{
public static LinkedList mlist=new LinkedList();
@Override
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mlist.add(this); } @Override protected void onDestroy() { super.onDestroy(); mlist.remove(this); } /*** *用于程序结束退出,当然代码每个activity都要继承该Baseadtivity */ public static void finish_all() { for (Activity mactivity : mlist) { mactivity.finish(); } mlist.clear(); } @Override public void onClick(View v) { }
}
这是我常用管理activity的一个类,好处在于你可以一次结束所有的activity,于此同时你可以遍历知道哪个activity还在栈中,onclick方法基本每个activity都会使用,减少代码量。下面来介绍activity的生命周期:
随着activty自身状态的变化,系统会调用相应的回调函数,也称呼为activity的生命周期,如下:
1、onCreate()—> 2、onStart()—> 3、onResume()—> 4、onPause()—>onSaveInstantceState()–> 5、onStop()—> onCreate()—>onStart()—>onRestoreInstanceState()—>onResume()
(注释) 以上为当A activity跳转到B activity并且跳转后A activity活动不保留,我们可以看到跳之前会暂停当前活动并保存当前用户数据(onSaveInstantceState()),停止当前活动,跳之后,A结束,当A再次回到前台进程时,A会再次执行oncreated,onstart(),恢复销毁前执行的onSaveInstantceState所保存的数据。其实主要强调(onSaveInstantceState(),onRestoreInstanceState())他们不在生命周期中,但是确实是被调用过,开发中可以利用一下。
当A跳转B时,A只是看不见的话并未消失的话,那么就不会再次执行oncreate(),而是执行的 6、onRestart(),也不会执行onRestoreInstanceState(),因为A活动并未消失,并未 7、OnDeatory().
以上7个就是activity的生命周期。
PS(MARKDOWN编辑器,三个#代表三号字体,三个*代表小三号字体,其他的暂时没想出来,日后有好点子再对此文编辑)
相关文章推荐
- iOS开发拓展篇—静态库
- 【C语言】不使用+-*/实现两个数之和
- 8种CSS清除浮动的方法优缺点分析
- 基于问句实体扩展和全局规划的答案摘要方法研究相关论文
- Problem D Ananagrams(map的使用)
- AES128加密解密方法
- Android Studio project有多个module情况下安装到手机出现多个app问题
- 二叉树的深度优先遍历与广度优先遍历
- webService之(二)java原生态客户端
- 基于REST 的 Web 服务:基础
- Java中的ReentrantLock和synchronized两种锁定机制的对比
- java面向对象的三大特性
- Oracle时间运算
- 北大ACM2785——4 Values whose Sum is 0~~双向搜索
- C++—函数
- centos6 安装mysql5.77(开发版)
- AFNetwork上传文件,下载文件,监控网络状态
- mysql BLOB类型
- Lua实现将字典数据分成10份
- 获取某一个view所在视图控制器,进而可以进行跳转等操作