想要学好安卓开发,就必须理解安卓软件的生命周期,明白一个活动的创建、启动、停止、暂停、重启和销毁的过程,知道各个阶段会调用什么函数进行处理不同的情况,这里我就通过一个简单的例子让大家明白一个活动的生命周期。

 

工具/原料

  • Android studio
  • 一部安卓手机或者安卓模拟器

Android studio如何重写函数

  1. 1

    在Android studio中,如果需要重新某个函数,可以在菜单栏中的“code”下选择第一项“override methods”,或者按Ctrl+O打开。

  2. 2

    在弹出的列表中找到需要重写的函数,以onStart()为例,不要看到没有搜索口就头疼了,直接在当前列表输入所需的函数即可。

  3. 3

    然后就可以看到已经生成的重新函数了,每个重写函数前面都有一个@override的标志。在生成的代码中添加一句:

    Log.d(tag, "In the onStart() event");

    这样一来,一个活动的启动重写函数就完成了,其他函数都可以通过相同方式重写。

  4. 4

    在创建好的项目的DemoActivity.java中,在类中添加:

    String tag = "lifestyle";

    在自动生成的onCreate中添加代码:

    Log.d(tag,"In the onCreate() event");

  5. 5

    按上述重写函数的方式分别重写:

    onStart、onResume、onRestart、onPause、onStop、onDestroy。

    在每个重写函数中分别加上:

    Log.d(tag,"In the onStart() event");

    Log.d(tag,"In the onResume() event");

    Log.d(tag,"In the onRestart() event");

    Log.d(tag,"In the onPause() event");

    Log.d(tag,"In the onStop() event");

    Log.d(tag,"In the onDestroy() event");

    END

活动的生命周期

  1.  

    连接安卓手机进行仿真测试,shift+F10生成apk并在手机上自动安装。

  2.  

    刚启动时,活动需要经过创建、启动、继续三个阶段,对应着onCreate、onStart、onResume三个函数。onResume可以继续、重新开始、恢复三重含义。

    在logcat窗口可以查看当前活动所处的状态。

  3.  

    当有别的活动在当前活动前显示,或者自动锁屏时,当前活动会暂停,调用onPause函数,重新回到当前活动时,会调用onResume函数。

  4.  

    当退回手机主页时,当前活动会从onResume状态通过onPause再到onStop,表示当前活动不可见,被停止。

  5.  

    但重新打开时,活动又由停止状态通过onReStart,onStart再重新回到onResume状态。

  6.  

    如果按下返回键退出程序,活动就会由onResume状态经过onPause、onStop最后调用onDestroy销毁活动。

  7.  

    本经验第一张图片给大家展示了一个活动的生命周期如何切换,又通过例子说明了不同状态下活动如何处理,相信大家对活动的生命周期有了相当的了解。这样就可以把握好程序编写的要领,在合适的函数中处理合适的事情,会让你的app更加完美。

最新文章

  1. WPFTookit Chart 高级进阶
  2. D3.js学习记录
  3. C和指针 第五章 习题
  4. NHibernate系列文章二十二:NHibernate查询之HQL查询(附程序下载)
  5. 谷歌插件Image downloader开发之popup
  6. java计算当前周开始日期&结束日期
  7. pointer
  8. google pinyin elmentary os
  9. cocos2d-x游戏是怎么跑起来的
  10. JS函数式编程【译】2.3 函数式程序员的工具集
  11. 开源数据库连接池之C3P0
  12. DB2数据类型
  13. SVN版本控制的使用
  14. MySQL主从搭建
  15. React复习小结(一)
  16. 2017人生总结(MECE分析法)
  17. 使用Libgdx开发的FlappyBird(像素鸟、疯狂的小鸟)游戏源码
  18. HeadFirst设计模式读书笔记之工厂模式
  19. eclipse下解决明明有jar包,却找不到的问题
  20. Android开发:Android虚拟机启动错误Can't find 'Linux version ' string in kernel image file

热门文章

  1. 适用于CSS2的各种运动的javascript运动框架
  2. JavaScript自我学习之解析与执行
  3. Asp.net 网站出现Service Unavailable 问题剖析
  4. 使用log4net写自定义日志
  5. jquery动态添加DOM节点
  6. Struts 2读书笔记-----Action访问Servlet API
  7. (原)Ubuntu16中使用nvidia官方提供的驱动,而非自带的驱动
  8. Mysql常用命令和常用函数
  9. 【Solr专题之九】SolrJ教程
  10. 如何系统地学习JavaScript