• 网站刚刚上线,难免有不足的地方,敬请谅解!欢迎提出宝贵意见!

  •    3年前 (2015-06-28)  android基础 |   4 条评论  127 
    文章评分 2 次,平均分 4.0

    前言:

    在网站开通以来一直想着写一些Android基础知识分享给大家,但是有时候又觉得怕写不好误导了大家学习Android,思前想后觉得还是去Android官网看看,发现在Android官网上其实就能学习到很多知识,并且最新的知识他都会及时的更新,所以决定按照官网带领大家学习Android知识,在中间会穿插本人在做项目时的一些体会和总结。

    应用程序的入口:

    所有学习Android的基本上都从学习Activity开始,因为它是Android的大门,相当于Java程序的入口函数main()。当你查看一个Java项目时你肯定想到的是从它的入口函数main()开始,一步一步的深入去看这个项目的逻辑是怎么展开的,查看Android项目也不例外,但是它的入口不是main函数,而是主Activity类。在Activity中有一些特定的方法称为生命周期函数(也叫回调函数),这些函数不需要你去调用它,而是会自动的被Android系统调用,Android系统会根据用户的操作调用这些生命周期函数,比如用户点击了应用图标来启动应用程序,Android系统就会调用应用程序中主Activity的onCreat()方法,用户按返回键则会触发onPause()函数,你所需要做的就是利用这些生命周期函数,把你的逻辑写在恰当的位置。

    理解Activity生命周期:

    怎么利用生命周期函数?首先是要理解Activity的生命周期。在Android官网上有一张下面的图片,它绘制的就是一个Activity生命周期金字塔。

    【Android基础】Activity生命周期

    在上图中每一个生命周期中的状态(Created、Started、Resumed、Paused、Stoped、Destroyed)可以看做是组成金字塔的每一个台阶,这些台阶是通过一些生命周期函数才能到达的。在用户点击应用图标启动应用程序的时候是从金字塔最底层,经过onCreat()、onStart()、onResume()这几个函数一步一步走向金字塔顶峰,这几个函数都是Android系统帮你调用的,不需要你处理,你要做的是在这几个函数中做好程序的初始化工作。当到达金字塔顶部Resumed状态时应用程序获取了最大的前台运行权限,用户才能与应用程序进行交互,比如进行聊天、点击应用程序的其他功能等。当用户离开应用程序的时候Android系统会调用Activity的onPause()、onStop()、onDestroy()方法,一步一步从金字塔顶层退下来,在从顶层退下来的时候也可以从新回到顶层。

    理解三个状态:

    Activity中的Created、Started、Resumed、Paused、Stoped、Destroyed这七个状态只有三个状态可以静止存在一段时间,其他的状态很快就会过去。这三个状态是:

    • Resumed状态:

    在这个状态下Activity处于前台活动状态,也就是可以和用户进行交互的状态,也叫运行状态。

    • Paused状态:

    在这个状态Activity界面部分被其他Activity遮挡,无法响应用户的所有操作。

    • Stopped状态:

    在这个状态Activity完全被隐藏,对于用户是不可见的状态,应用程序在后台。进入这个状态时,Activity的状态信息要被保留下来。

    对于其他状态只是短暂的停留,不如系统调用onCreate()后,它迅速调用onStart(),紧接着onResume()。

    生命周期注意事项:

    对于Activity的生命周期在实际项目中的怎么应用你需要记住以下几点:

    • 在用户用你的应用程序时,如果有来电或者用户切换到其他应用,你的应用程序不能出现异常退出,比如很严重的崩溃(crash)或者无响应(ANR);
    • 在用户不再使用你的应用时,及时释放掉你应用程序占用的系统资源,比如在程序进入后台时要停掉一些不必要的线程;
    • 在用户离开你的应用的时候要保存用户当前的状态,再用户再次回到你的应用的时候恢复之前的状态;
    • 在进行横竖屏切换的时候要满足上面的第一和第三条规则。

    以上是Activity生命周期的基本知识,下一篇文章将会结合代码讲解Activity生命周期函数。如果大家有什么疑问和问题请关注我的微信公众号:coder_online给我反馈。

    本文属原创,转载请注明出处,违者必究

    关注微信公众平台:程序员互动联盟(coder_online),你可以第一时间获取原创技术文章,和(java/C/C++/Android/Windows/Linux)技术大牛做朋友,在线交流编程经验,获取编程基础知识,解决编程问题。程序员互动联盟,开发人员自己的家。

    【Android基础】Activity生命周期

     

    本文原始地址:http://www.coderonline.net/android-based-activity-life-cycle.html

    本站所有文章,除特别注明外,均为本站原创,转载请注明出处来自http://www.coderonline.net/

    否则保留追究法律责任的权利!

    关于

    发表评论

    表情 格式
    1. 期待楼主继续写下去,Activity生命周期讲的很详细,也很形象。

      Coder 评论达人 LV.5 3年前 (2015-07-07) [1] [0]
    2. 没人抢一楼。

      leo 作 者 3年前 (2015-07-07) [0] [0]
    1. 2015-07-18上午11:13
      Activity的生命周期函数 - 移动开发 - 阿里欧歌[ 来自 火星 ]

      […] 上一篇文章写了关于Activity生命周期和生命周期状态的介绍,这一篇文章给大家聊聊Activity生命周期函数。 […]

    2. 2015-07-01上午8:58
      Activity生命周期讲解 - 移动开发 - 阿里欧歌[ 来自 火星 ]

      […] 以上是Activity生命周期的基本知识,下一篇文章将会结合代码讲解Activity生命周期函数。如果大家有什么疑问和问题请关注我的微信公众号:coder_online给我反馈。 […]

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册