Android问答(2)

来源:未知 责任编辑:责任编辑 发表时间:2015-10-08 14:15 点击:

  3)模型层(model):对数据库的操作、对网络等的操作都应该在model里面处理,当然对业务计算等操作也是必须放在的该层的。
 
 
  9、Activity的生命周期
  和其他手机 平台 的应用 程序 一样,Android的应用程序 的生命周期是被统一掌控 的,也
  就是说我们写的应用程序命运掌握在别人(系统)的手里,我们不能改变它,只能学习 并
  适应它。
  简单地说一下为什么是这样:我们手机在运行 一个应用程序的时候,有可能打进来电话
  发进来短信 ,或者没有电了,这时候程序都会被中断,优先去服务电话的基本功能 ,另
  外系统也不允许你占用太多资源 ,至少要保证电话功能吧,所以资源不足的时候也就有可
  能被干掉。
  言归正传,Activity的基本生命周期如下代码 所示:
  Java代码
 
  public
  class MyActivity extends Activity {
  protected
  void onCreate(Bundle savedInstanceState);
  protected
  void onStart();
  protected
  void onResume();
  protected
  void onPause();
  protected
  void onStop();
protected
  void onDestroy();
  }
  public class MyActivity extends Activity { protected void onCreate(Bundle savedInstanceState); protected void onStart(); protected void onResume(); protected void onPause(); protected void onStop(); protected void onDestroy(); }
  你自己写的Activity会按需要 重载这些方法,onCreate是免不了的,在一个Activity正常启动的过程中,他们被调用的顺序是 onCreate -> onStart -> onResume, 在Activity被干掉的时候顺序是onPause -> onStop -> onDestroy ,这样就是一个完整的生命周期,但是有人问了 ,程序正运行着呢来电话了,这个程序咋办?中止了呗,如果中止的时候新出的一个Activity是全屏的那么:onPause->onStop ,恢复的时候onStart->onResume ,如果打断 这个应用程序的是一个Theme为Translucent 或者Dialog 的Activity那么只是onPause ,恢复 的时候onResume 。
  详细介绍一下这几个方法中系统在做什么以及我们应该做什么:
  onCreate: 在这里创建界面 ,做一些数据 的初始化工作
  onStart: 到这一步变成用户可见不可交互 的
  onResume: 变成和用户可交互 的,(在activity 栈系统通过栈的方式管理这些个
  Activity的最上面,运行完弹出栈,则回到上一个Activity)
  onPause: 到这一步是可见但不可交互 的,系统会停止动画 等消耗CPU 的事情
  从上文的描述已经知道,应该在这里保存你的一些数据,因为这个时候
  你的程序的优先级降低,有可能被系统收回。在这里保存的数据,应该在
  onResume里读出来,注意:这个方法里做的事情时间要短,因为下一
  个activity不会等到这个方法完成才启动
  onstop: 变得不可见 ,被下一个activity覆盖了
  onDestroy: 这是activity被干掉前最后一个被调用方法了,可能是外面类调用finish方
  法或者是系统为了节省空间将它暂时性的干掉,可以用isFinishing()来判
  断它,如果你有一个Progress Dialog在线程中转动,请在onDestroy里
  把他cancel掉,不然等线程结束的时候,调用Dialog的cancel方法会抛
  异常的。
  onPause,onstop, onDestroy,三种状态 下 activity都有可能被系统干掉

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • Android 完全退出程序
  • android 屏幕保护
  • 原创:Android应用开发-Andorid歌词秀,含源码
  • 众多Android 开源项目推荐,给力工作给力学习
  • Android成长的幕后推手:工程师鲁宾
  • Android歌词秀1.5版
  • MIUI:10个亮点及5处不足
  • 自己开发计算器(4)-完成!源代码公开!
  • Android开发者指南(29) —— USB Host and Accessory
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1