美文网首页Android开发Android技术知识Android知识
用户体验之Android活动的生命周期

用户体验之Android活动的生命周期

作者: 史慧君 | 来源:发表于2017-01-12 07:59 被阅读105次

文章建议:*

因为这部分内容对于一个初学者来说,可能稍微比较难理解,但是要多看,虽然写的文章靠前,但是以后我们每做一个实例,都会加深这部分的理解.建议一段时间之后就回过头来看看这篇文章,理解的深度就不同了.

主要内容:
Android活动生命周期之返回栈的理解;
Android活动生命之后之四大生命状态;
Android活动3种生存期以及所对应的函数;

Android活动生命周期之返回栈的理解
更好的理解活动的生命周期,可以写出更加流畅的程序,也就是你将拥有很好的用户体验。

我们每启动一个新的活动,就会覆盖在原活动之上。这一点非常重要,在这个项目中经常有这样的需求。比如额外弹出一层,需要移动一下layout中xml文件中的显示顺序,以后会提到实例。

点击back键实际是销毁最上面的活动,所以下面的活动就会显示出来。

如何更好的理解活动的显示方式呢?其实Android是使用任务(Task)来管理活动的,一个任务就是一组存放在栈里活动的集合,也被称返回栈。栈是一种后进先出的数据结构,每当我们启用一个新活动,它会进入返回栈且处于栈顶的位置。每当我们按下返回键或者调用finish()方法就会销毁处于栈顶的活动,让其出栈,那么前一个入栈的活动就会处于栈顶的位置。(如果你觉得不好理解,可以将栈理解成一个管子或者一个杯子,是不是就很好理解了呢?)

android活动生命之后之四大生命状态
活动状态:

  1. 运行状态:
    当一个活动处于返回栈的栈顶的位置,就是处于运行状态。

  2. 暂停状态:
    一个活动不再处于栈顶的位置,但是仍然可见时,就进入了暂停状态。

  3. 停止状态:
    一个活动不再处于栈顶的位置,并且完全不可见的时候,就进入了停止状态。系统仍然会对这种活动保存相应的状态和成员变量,但是并不可靠,当其他地方需要内存的时候,很可能处于停止状态的活动首先被系统回收。

  4. 销毁状态:
    当一个活动从返回栈中移除后就变成了销毁状态。系统最倾向于回收处于这个状态的活动,从而保证手机内存的充足。

Android活动3种生存期以及所对应的函数
活动的生存期中的函数:

onCreate().
每个Activity都要重写这个方法,它会在活动第一次被创建的时候调用。这个方法适合做一些初始化的操作,比如加载布局,绑定事件等。

onStart().这个方法在活动由不可见变为可见的时候调用。

onResume():这个方法在活动准备好和用户交互的时候调用。此时的活动一定位于返回栈栈顶的位置,且处于运行状态。

onPause():这个方法在系统准备去启动或者回复另一个活动的时候调用。在这个方法中奖一些消耗CPU的资源释放掉,以及保存一些关键数据,关键要点执行这个方法要快,否者会影响新的栈顶活动的使用。

onStop()这个方法是活动完全不可见的时候调用。它和onPause()方法的主要区别在于,如果新活动是一个对话框的活动,那么onPause()方法会得到执行,而onStop()方法并不执行.

onDestroy()这个方法在活动被销毁之前调用,之后的活动状态变为销毁状态. 一般在这个方法中完成释放内存的动作.

onRestart()这个方法在活动由停止状态变为运行状态之前调用,也就是活动被重启了.

以上方法中,除了onRestart()方法,其他都是两两相对的.

活动又可以分为3种生存期

1.完整生存期: 活动在onCreate()方法和onDestroy()方法之间所经历的.

2.可见生存期:活动在onStart()方法和onStop()方法之间所经历的. 活动对用户是可见的,即便有可能无法与用户进行交互. 我们可以通过这两个方法,合理地管理那些对用户可见的资源.
比如在onStart()方法中对资源进行加载,而在onStop()方法中对资源进行释放,从而保证停止状态的活动,不会占用过多的内存.

3.前台生存期. 活动在onResume()方法和onPause()方法之间所经历的就是前台生存期. 前台生存期,活动总是处于运行状态的.此时的活动是可以和用户进行交互的,我们平时看到和接触最多的就是这个状态下的活动.


点赞是最好的
喜欢,关注是最大的支持。
亲爱的朋友,我需要你,我也等你。

相关文章

  • 用户体验之Android活动的生命周期

    文章建议:* 因为这部分内容对于一个初学者来说,可能稍微比较难理解,但是要多看,虽然写的文章靠前,但是以后我们每做...

  • Activity生命周期

    活动的生命周期 深入理解活动的生命周期:你的优势 可以写出更加连贯流畅的程序。 合理管理应用资源 更好的用户体验 ...

  • Android之智慧北京一

    Android之智慧北京一 公司的角色 产品:搜集用户的需求,将需求转化为功能,将功能转化为用户体验(产品汪) 技...

  • Activity

    1. Activity生命周期 (1) what is activity : android 系统提供的用于与用户...

  • 2、Android官方架构组件介绍之LifeCycle(一)

    Android官方架构组件介绍之LifeCycle 使用生命周期感知组件处理生命周期 支持生命周期的组件会响应另一...

  • 产品要素

    产品设计三要素 用户:宏观——用户分层(体验用户/付费用户;高中低频用户);生命周期(刚接触/注册新手/专家)。 ...

  • 深入学习Activity的生命周期和启动模式

    《Android开发艺术探索》读书笔记之Activity的生命周期和启动模式 目录: Activity的生命周期典...

  • Android活动的生命周期(Life Cycle Of Act

    对于Android程序员来说,掌握活动的生命周期非常重要,当我们深入了解活动的生命周期以后,才能写出更流畅的APP...

  • GeoQuiz项目总结

    用户界面设计Android 与MVC模式Activity生命周期第二个Activity心得体会 用户界面设计 用户...

  • iOS的生命周期

    APP的生命周期 像Android apps 一样有生命周期。Apps就是用户自定义的代码,需要利用系统提供的资源...

网友评论

    本文标题: 用户体验之Android活动的生命周期

    本文链接:https://www.haomeiwen.com/subject/cpldbttx.html