安卓四大组件数据存储Handler
1.活动 activity
1.activity是安卓四大件之一。是用户操作的可视化界面;它为用户提供了一个完整操作指令的窗口。当我们创建完毕activity之后,需要调用setContentView()方法来完成界面的显示;以此来为用户提供交互 的入口。在安卓 APP中只要能看见的几乎都要依托于activity,是开发中使用最频繁的一种组件。
2.一个activity通常就是一个单独的窗口
3.Activity之间是通过Intent进行通信的
4.安卓应用中每一个Activity都必须要在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。
5.Activity的生命周期
在安卓中维持一个Activity Stack(栈),当一个新的Activity创建时,它就会放到栈顶,这个Activity就处于运行状态。当再有一个新的Activity被创建后,会重新压人栈顶,而之前的Activity则会在这个新的Activity地下,进入后台 。
一个Activity实质上有四种活跃状态:
a.运行中(Running/Active):这时Activity位于栈顶,是可见的,并且可以和用户交互。
b.暂停(Paused):当Activity失去焦点,不能跟用户交互,但依然可见,就处于暂停状态。当一个新的非全屏的Activity或者一个透明的Activity放置栈顶,Activity就处于暂停状态;这个时候Activity的各种数据还被保持着;只有系统内存存在极低的状态下,系统才会自动识别去销毁Activity。
c.停止(Stoped):当一个Activity被另一个Activity完全覆盖,或者HOME键退回了后台,这时候Activity处于停止状态。这里有些跟暂停状态相似的:这时候Activity的数据也保持着;当别的地方需要用到内存的时候,系统会自动识别区销毁Activity
d.销毁(Ddetroyed):当我们点击返回键或者系统内存不够用的情况就会把Activity从栈中移除销毁,被系统回收,这是就处于销毁状态。
总结:
activity是用户操作的可视化界面,为用户提供了一个完整的操作指令窗口。通过调用setContentView来为用户提供入口。安卓几乎所有界面都依赖于activity,是使用最频繁的组件。一个activity通常就是一个单独的窗口,他们通过Intent进行通信。并且
每一个activity都必须要在xml配置文件中声明否则系统无法识别。
activity存在”运行中,暂停,停止,销毁‘这四种状态,当activity存在栈顶的时候就是运行中,此时用户可以对其进行正常的交互,当activity被另一个透明的activity或者不是全屏的activity挤下栈顶后,就处于暂停状态,此时我们原本的activity依旧可见数据依然保持。当一个activity被另一个activity完全覆盖,处于不可见状态或者我们按下home键时处于停止状态,此时数据依旧会保持但是页面不可见。最后一个就是当我们主动返回键或者系统内存不够了就会移除销毁掉。
Activity生命周期核心函数
1. 初始化阶段
2. 暂停与停止阶段
3.重启与销毁阶段
二、典型场景的调用顺序
2.内容提供者(Content Provider)
存储方式 | 适用场景 | 优点 | 缺点 |
SharedPreferences | 简单键值对配置(用户设置、应用配置) | - 使用简单 - 自动持久化 - 支持类型安全 | - 仅支持基本数据类型 - 不适合大数据量 |