Android 7.0来的真快,来看看又来了些什么出人意料的东西(墙外搬运)

先安利,本周会完成工具类等模块的拆分,敬请期待:https://github.com/ddwhan0123/Useful-Open-Source-Android

最近都在看RN的东西,然后发现React.js的语法还是不熟又想去看看JS但是7.0又顶在菊花后面,还有我那丢了许久的Python和一堆源生知识点,感觉整个人都要爆炸了(这里还没工作的东西挤进来)。

不过作为一个Native的开发者和脑残粉还是把Native的新特性放在第一位,毕竟RN还不成熟,React.js是前端的事,Python只是随便写写。

这一篇会介绍官方主推的一些新特性和功能,接下来的几天会陆续推出相关详细的介绍,不过按照国内更新迭代的尿性,还早,这个是真的还早,想想隔壁的 6.0,不过作为开发者还是要先人一步!!

N的未成熟版在我的电脑里沉寂许久现在“完整版”已经浮出水面,又多了一些新特性以及大量优化,本篇文章会一个一个点的给大家做介绍!


多窗口支持

现在,用户可以一次在屏幕上打开两个应用。

  • 在运行 Android N 的手机和平板电脑上,用户可以并排运行两个应用,或者处于分屏模式时一个应用位于另一个应用之上。 用户可以通过拖动两个应用之间的分隔线来调整应用。

  • 在 Android TV 设备上,应用可以将自身置于画中画模式,从而让它们可以在用户浏览或与其他应用交互时继续显示内容。

分析: 更好的用户体验,更多元的设计(直接回复在iOS和个别国产ROM里已经有了实现,官方将其推向普及是个不错的举措)


快速的应用安装路径

Android 运行组件的 JIT 编译器最实际的好处之一是应用安装和系统更新的速度。 即使在 Android 6.0 中需要几分钟进行优化和安装的大型应用,现在只需几秒钟就可以完成安装。 系统更新也变得更快,因为省去了优化步骤。

分析:妈妈再也不用担心我编译大项目10分钟啦!!


随时随地低电耗模式

在 Android N 中,低电耗模式又前进了一步,随时随地可以省电。只要屏幕关闭了一段时间,且设备未插入电源,低电耗模式就会对应用使用熟悉的 CPU 和 络限制。这意味着用户即使将设备放入口袋里也可以省电。

分析:更好的优化算法+逻辑便于用户更好的续航


Project Svelte:后台优化

Project Svelte 在持续改善,以最大程度减少生态系统中一系列 Android 设备中系统和应用使用的 RAM。 在 Android N 中,Project Svelte 注重优化在后台中运行应用的方式。

后台处理是大多数应用的一个重要部分。处理得当,可让您实现非常棒的用户体验 — 即时、快速和情境感知。如果处理不得当,后台处理会毫无必要地消耗 RAM(和电池),同时影响其他应用的系统性能。

官方还删了3个高频耗电广播,内容如下:

删除了三个常用隐式广播 — CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO — 因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池。 如果您的应用收到这些广播,请充分利用 N Developer Preview 以迁移到 JobScheduler 和相关的 API。

分析:流氓软件总会换着法的保持常驻,任重而道远!!


Data Saver

在移动设备的整个生命周期,蜂窝数据计划的成本通常会超出设备本身的成本。 对于许多用户而言,蜂窝数据是他们想要节省的昂贵资源。

Android N 推出了 Data Saver 模式,这是一项新的系统服务,有助于减少应用使用的蜂窝数据,无论是在漫游,账单周期即将结束,还是使用少量的预付费数据包。 Data Saver 让用户可以控制应用使用蜂窝数据的方式,同时让开发者打开 Data Saver 时可以提供更多有效的服务。

分析:各大Rom厂商在这部分已经有了自己的风格,主要是看易用性吧


码屏蔽

Android N 现在支持在平台中进行 码屏蔽,提供框架 API,让服务提供商可以维护屏蔽的 码列表。 默认短信应用、默认手机应用和提供商应用可以对屏蔽的 码列表进行读取和写入操作。 其他应用则无法访问此列表。

分析:很好的安全措施,很好地防止流氓软件的读取用户数据

来电过滤

Android N 允许默认的手机应用过滤来电。手机应用执行此操作的方式是实现新的 CallScreeningService,该方法允许手机应用基于来电的 Call.Details 执行大量操作,例如:

  • 拒绝来电
  • 不允许来电到达通话记录
  • 不向用户显示来电通知

分析:这部分是否开放我个人觉得有待商榷。。。。


多区域设置支持、多语言

Android N 现在允许用户在设置中选择多个区域设置,以更好地支持双语用例。 应用可以使用新的 API 获取用户选择的区域设置,然后为多区域设置用户提供更成熟的用户体验 — 如以多个语言显示搜索结果,并且不会以用户了解的语言翻译 页。

除多区域设置支持外,Android N 还扩展了用户可用的语言范围。 它针对常用语言提供超过 25 种的变体,如英语、西班牙语、法语和阿拉伯语。 它还针对 100 多种新语言添加了部分支持。

分析:更完善的语言,地区适应性功能


新增的表情符

Android N 引入更多表情符 和表情符 相关功能,包括肤色表情符 和支持变量选择符。 如果您的应用支持表情符 ,请遵循以下准则,以便能充分利用这些表情符 相关功能优势。

  • 在插入之前,检查设备是否包含表情符 。 若要检查系统字体中有哪些表情符 ,使用 hasGlyph(String) 方法。

  • 检查表情符 是否支持变量选择符。 变量选择符使您能够呈现一些彩色或黑白的表情符 。 在移动设备上,应用应呈现彩色的表情符 ,而不是黑白的。但是,如果您的应用显示嵌入在文本中的表情符 ,那应使用黑白变量。 若要确定表情符 是否有变量,使用变量选择符。 如需有关支持变量的字符的完整清单,请参阅变量的 Unicode 文档中的 表情符 变量序列部分。

  • **检查表情符 是否支持肤色。**Android N 允许用户按照他们的喜好修改表情符 呈现的肤色。 键盘应用应为有多个肤色的表情符 提供可视化的指示,并应允许用户选择他们喜欢的肤色。 若要确定哪些系统表情符 有肤色修改器,使用 hasGlyph(String) 方法。 您可以通过读取 Unicode 文档来确定哪些表情符 使用肤色。


Android 中的 ICU4J API

Android N 目前在 Android 框架(位于 android.icu 软件包下)中提供 ICU4J API 的子集。 迁移很简单,主要是需要从 com.java.icu 命名空间更改为 android.icu。 如果您已在您的应用中使用 ICU4J 捆绑包,切换到 Android 框架中提供的 android.icu API 可以大量节省 APK 大小。

分析:有一种包体积的浓缩处理的方案


OpenGL? ES 3.2 API

Android N 添加了框架接口和对 OpenGL ES 3.2 的平台支持,包括:

  • 来自 Android 扩展包 (AEP) 的所有扩展(EXT_texture_sRGB_decode 除外)。

  • 针对 HDR 的浮点帧缓冲和延迟着色。

  • BaseVertex 绘图调用可实现更好的批处理和流媒体服务。
  • 强大的缓冲区访问控制可减少 WebGL 开销。

Android N 上适用于 OpenGL ES 3.2 的框架 API 与 GLES32 类一起提供。 使用 OpenGL ES 3.2 时,请务必通过 标记和 android:glEsVersion 属性在您的清单中声明要求。

分析:模块Update


VR 支持

Android N 添加了新的 VR 模式的平台支持和优化,以使开发者能为用户打造高质量移动 VR 体验。 新版针对开发者提供了大量性能增强特性,包括单一缓冲区渲染以及允许 VR 应用访问某个专属的 CPU 核心。在您的应用中,您可以享受到专为 VR 设计的平滑头部跟踪和立体声通知功能。 最重要的是,Android N 的图形延时非常低。

分析: 红功能

一眼下去看到好多好多需要了解,学习的新功能新特性,感觉任重道远。
接下来一段时间还会继续分析,学习相关内容分享给大家。

相关传送门:

https://developer.android.com/topic/performance/background-optimization.html

https://developer.android.com/training/monitoring-device-state/doze-standby.html#assessing_your_app

https://developer.android.com/guide/topics/ui/notifiers/notifications.html

https://developer.android.com/guide/topics/ui/multi-window.html

这里写图片描述

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2016年7月21日
下一篇 2016年7月21日

相关推荐