接触Android有一段时间了,刚刚入手的时候并没有重视对Activity的认识,因此在后续的学习中掉过许许多的坑,然后又翻回来重新学习Activity。
对Android开发者来讲Activity可以说是四大组件里最长接触的了,我们从第一个Android程序-“Hello”时就已经开始接触它了。那么首先我们要对它有个概念上的认识知道它是做什么的。
活动包含了用户界面的组件主要用于与客户进行交互,所以除非你的App是不可见的否则免不了使用Activity。在这里你可能觉得Activity参与了系统的内部运行逻辑,但事实上Activity只是一个与用户进行交互的入口,只是告诉你“你可以从这个入口运行我”,也就是说只是提供了一个与系统进行交互的接口,而其在交互进行过程中系统具体是如何进行交互的就已经与Activity无关了。
那么现在我们可以简单的将Activity认为是一个用于与用户交互的入口。那这个时候我们也应该了解一下系统具体对Activity提供了哪些交互动作。首先,系统要确保当前进程的进行。也就是要保证此时启动的Activity要占据在App的屏幕上。其次系统要从之前使用过的进程中提取用户将会用到的信息,并赋予其一定的优先级。同时系统要帮助用户能够回到之前的activities,并且这些activities能够加载自己之前的状态。最后,提供一种在不同应用之间的用户流(user flow)的方式。
Android中activities的管理是通过返回栈来管理的,有新的活动启动它就会在返回栈中并处于栈顶位置,因此原来处于栈顶位置的活动将不在在栈顶,此时它还没有被销毁但有可能被系统销毁,比如在内存极低的情况下。
Activity有四种状态:
活动状态,当Activity处于返回栈栈顶时。
暂停状态,当一个活动仍然可见但已经不在栈顶时我们称其为暂停状态。比如,屏幕中此时有一个对话框,但该对话框并没有占据全部手机屏幕只是占据了一部分,此时你能够看见的除却对话框的活动就处于暂停状态。
停止状态,当活动不在栈顶且完全不可见时。
销毁状态,当活动从返回栈中移除时,该活动就处于销毁状态。
如activity生命周期图所示,Activity类中定义了七个回调方式包含了活动生命周期的每一个环节。每一个方法具体的含义此处省略,但我们必须要知道。
以上的七个方法又将活动分为了三种生存期:
完整生存期:在onstart()和ondestory()方法之间所经历的。
可见生存期:在onstart()和onstop()方法之间所经历的。此时活动前台可见,但不一定可以与用户进行交互。
前台生存期:在onresume()和onpause()方法之间所经历的。此时活动前台可见同时可以与用户进行交互。
在这里我们基本了解了Activity的生命周期,在了解完其生命周期后我们可以利用其生命周期做许多操作,如退出功能的实现。
与活动相关的知识还有很多,比如活动间的数据传输、活动的4中启动模式。在这里就不一一介绍了,但还是那句话我们必须要懂。
第一次写博文,写的很是粗略望见谅。
Android Activity初识
最新推荐文章于 2024-09-06 08:00:00 发布