公布架构组件1.0稳定

原文来自:Announcing Architecture Components 1.0 Stable

Android运行在数十亿台设备上,从高端手机到飞机座椅靠背。在这个庞大的设备范围Android操作系统积极的管理资源已取得了良好的表现,有的时候能构建出强大复杂的应用程序。

为了使它变得更加简单,我们在Google I/O大会上启动了一个预览版的架构组件,在应用程序架构上提供指导。包括了像生命周期管理和数据持久化等通用任务的库。总而言之,这些基础的组件通过较少的代码样本去写模块化应用程序使它成为可能。因此开发者们能够关注于创新而不是重新造轮子 —— 并且我们希望在未来保持在这个基础上去构建。

今天我们很高兴的宣布了RoomLifecycle架构组件库到了1.0稳定。这些API已经为生产应用程序和库做好了准备,是我们建议开发者寻找架构用程序架构的帮助以及本地存储(尽管这里这里是建议,但是不要求)。Lifecycle现在也能够和支持库集成,因此你能够使用像AppCompatActivity这样标准的类去使用它们。

尽管我们在今天声明它们稳定,公测的组件已经在应用程序中一起使用了,有数十亿次安装。顶端开发者,像Zappos,已经能花费更多的时间去感谢架构组件什么是最重要的:
zappos-logo.jpg

在Android架构组件发布之前,我们有自己的ViewModel实现,我们使用Loaders和Dependency注入,通过更改配置去保存我们的ViewModel。我们最近切换到了Android架构组件ViewModel实现,所有的样板都消失了。我们发现我们可以花费更多的时间在设计、业务逻辑以及测试上面,在写样板和担心Android生命周期上的问题也会少一点了

我们也开始去使用LiveData将它直接勾进Android生命周期里。我们使用它去回收和展示网络数据,并且不必再去关心网络呼叫订阅管理 —— Zappos公司Android软件工程师大卫亨利

架构组件提供了一个示例,灵活而适用的方法让开发者们免去了一些共同问题,因此他们能够关注于构建更棒的体验,这个是依靠于应用程序架构向导的核心构建块。

Lifecycle

每一个android开发者必须要处理操作系统开始、停止以及销毁它们的活动。这就意味着管理组件的状态——比如观察被使用去更新UI界面——如同你移动通过生命周期一样。Lifecycle(生命周期)能够创建生命周期-感知组件来管理它们自己的生命周期,减少泄漏或者崩溃的可能性。Lifecycle库是像LiveData等其它架构组件的基础

LiveData

LiveData(动态数据)是一个支持数据并提供更新可观察的生命周期-感知。你的UI代码订阅更改并提供LiveData一个参考到Lifecycle。因为LiveData是生命周期-感知,当它的生命周期被开始或者被恢复,它将提供更新,但是当生命周期主被销毁,则停止提供更新。LiveData是一个简单的方式去构建被动的UI界面,更安全更高效。

ViewModel

ViewModel(视图模型)像Activity和Fragment一样从生命周期的实体分离视图数据和逻辑的所有权。一个ViewModel是被保留的直到与它相关联的Acitivty和Fragment永久的被抛弃——这就意味着视图数据能够像一个Fragment由于旋转而重新被创建幸存。ViewModel不仅仅是消除生命周期共同问题,它们帮助构建更模块化方便测试。

Room

几乎所有的应用都需要在本地存储数据,当自从版本1开始Android绑定了SQLite和平台,直接使用它是很痛苦的。Room(房间)是一个简单的对象映射层,利用较少的样板提供满功率的SQLite。特性像编译时间查询验证并内置迁移,使构建一个强大的持久层更加容易。当与LiveData集成,让Room提供数据库支持、可观察的生命周期感知。Room对于管理本地存储,融合了简单、强大和稳健。我们希望你能够尝试它一下。

App架构向导以及更多

最后但并不是不重要的,我们创建了一个应用程序架构指南 为所有的开发者提供实用的核心原则,有关使用架构组件的具体指南,因为我们从你们那儿清楚的听到了一致的答复指南是重要的。今天我们适当的更新了开发者文档去指出架构组件。我们在架构组件站点也有一套丰富的视频、代码实验室和示例应用程序可用,来获得更多。

看这个空间

尽管第一组架构组件现在是稳定,我们知道这儿还有更多工作需要做。在过去的几个月中,我们听取了你的反馈进行了提高,我们也在最近启动了一个新的架构组件,PagedList,对于alpha,回应你们的反馈,用RecyclerView处理大数据集太困难了,这仅仅是开始——我们有更多基本的组件在开发,我们将在期待在接下来的几个月中宣布。

我们对架构组件的期望是让开发者在移动设备上能够专注于提供独特的全新体验。我们很荣幸我们能够最终宣布它们作为正式生产使用,我们要感谢社区,一路上给了一些很棒的反馈,我们期待这继续讨论这篇文章的评论。最后,对于那些等待这个正式启动的人来说,从今天开始

以上是对Anroid 官网博客文章的翻译,如果不足,欢迎指正,谢谢

-------------本文结束感谢您的阅读-------------
if (本文对您有用) { Pay (请随意¥打赏) } else { Commit feedback (底部评论区提交建议、反馈) } 感谢支持!
0%