Android 5.0 技术新趋势

由于 Android 的版本分裂比较严重,整个新系统升级可能需要一两年甚至更长时间。所以目前使用 Android 5.0 的大部分是喜欢尝鲜的用户,同时现在市场上能够很好支持 Android 5.0 的应用又很少,如果开发者能捕捉这个机会,从这些用户那里得到更好的反馈,或者更好的证明机会,都是非常有价值的。

在 Android 5.0 发布之后,我认为有几个地方可以让开发者做得更好,比如可以建立一个更好看的应用,或者能够解决在应用中最大的性能问题——电量消耗的问题,等等。同时 Android 5.0 也带来了更多的可能性,让开发者可以做出不一样的应用,以及能够在更多的设备上部署服务。下面我分别介绍一下我对 Android 5.0 可能带来的技术趋势的看法。

更美的应用——Material Design

在 Android 5.0 的宣传中强调最多的一个亮点就是「Material Design」,从设计语言来讲,这个特点是能在将整个素材铺平的同时还遵循一定的物理材质的需求。这样的设计可以让应用感觉更活泼、具有更丰富的颜色,有无处不在的阴影,以及动画效果更真实等等。对于技术来说,Material Design 解决了两个非常大的问题,其一是「阴影」,它所有的阴影都是默认系统实现的——只要配置 Z 轴的高度,所有的阴影都可以通过系统默认实现。

另一个是「动画」,可以说 Android 5.0 将动画应用到了各个角落,实际上在这方面 Android 做了相当多的技术工作,使这个效果不是简单的贴图,实现出来的效果有点像游戏里面的投影,也就是真实的投影效果。

为了实现这些效果,Android 曾经尝试过不同的方案,最后使用的方案是当 Z 轴比较矮的时候,使用一个「面光源」,相当于一面的光打下来,如果 Z 轴比较高的时候,可能会加一个「点光源」,尽可能使整个投影变得真实,当然它没有办法支持在图形学中比较复杂的「光线追踪」——连续的反射效果,因为有个试验结果是只要开启「光线追踪」 10 秒就会导致手机变得滚烫,以现在的手机性能还没有办法很完美地支持。

而在这一技术的背后有个发展过程,大约是在 2001 年的时候,Android 开始做硬件加速技术,它的计算同样以硬件加速,会在 GPU 上进行差值计算,用以实现阴影特效,动画也是同理。现在 Android 5.0 将动画做到无所不在,比如给一个页面做了阴影,阴影的抬升有动画,界面的切换有动画,每一次点击、每一次拖动、每一次滚动都有动画。

现在最典型的动画是「水波纹」,现在 Android 5.0 上点任何东西都有一个水波漾起的动画效果。当然,开发者也可以指定各种各样的动画,比如一些基于路径的动画和界面切换时的动画,整个动画的实现技术也是依赖于 Android 在两年前做的一个后台的独立渲染线程,它能够实现异步渲染这些动画。

对于老版本而言,如果想要实现类似的阴影效果或动画效果,让整个界面变得有动感,单靠自己的能力做是特别难的。Android 5.0 提供了所有的这些开发支持,只要用 Android 5.0 SDK,用一些支持包,就可以配上它的风格、调色板、以及一部分控件,配置一些动画,就可以很快地建设出一个特别有「Material Design」风格的界面。现在真正支持「Material Design」的应用还比较少,如果用这样的方式来构建自己的产品,其实可以给那些偏 Geek 的用户一个特别好的感觉。

更省电的应用——Project Volta

大家以前做 Android 开发的时候可能涉及最多的问题就是「为什么你的应用那么耗电?」其实整个耗电模型在 Android 模型里的计算是非常复杂的。Volta 这个项目就是要在 Android 5.0 解决耗电问题。这次的解决办法还是很特别的——就是给开发者提供了能力,如果开发者能够很好利用这些能力,就能在系统上面跑得更快。Android 提供的能力是新的后台任务系统,非常像 iOS 系统,可以配置一组触发条件,比如网络变化、电量消耗到了什么程度、设备是不是进入了休眠状态,这些东西可以触发一个后台任务,这个后台任务的执行也是限时的,如果在时限之内没有完成,系统会将其取消,这个过程特别像 iOS 整个的机制。它可能取代了类似常驻后台、定时任务或者需要更复杂的策略才能保持后台运行的东西,实现更省电的需求。

更重要的内容是 Project Volta 提供了一组调试工具,因为以前可以在 Android 上面调试内存、调试界面等等,唯独很难知道电量耗在哪儿了,这个调试工具加上可视化工具可以展现你的界面上各个元器件以及各个环节的耗电情况,例如在哪个时间段的耗电量是最多的,这时候有什么应用在运行,什么设备是大量耗电的。通过这样的分析,能够更好地了解应用为什么耗电,帮助开发者解决问题。

系统服务

Screen Capturing

每次 Android 新版本升级都伴随着一件事就是将原来只有系统有的能力开放给了开发者,开发者可以用这些能力来建设不一样的应用。 比如豌豆荚做过的一些尝试,我们想做一些游戏截屏、录屏或者是一些 OCR的分析,目的是想分析图片里的一些的东西。这在 Android 老的版本里是不支持的,除非 Root 才能用的这样的能力,但是新的系统服务已经支持了截屏和录屏。这样的话,如果发挥你的想象力,要做一些游戏录屏或者其他应用,这就提供了一个新的机会。

App Usages

应用的使用信息也是一样的,我们原来想知道手机上那个设备用户最喜欢用哪个应用,什么时候用,这些信息都没有,现在 Android 5.0 提供了这样的接口,开发者不仅可以知道用户在各个应用上耗费的时间,甚至可以知道什么时候用什么时间,整个切换事件都是可以查到的,这些信息原来也只有Android自己知道,在这个版本里这些信息全部开放给了开发者,这样能够更好地发挥开发者的想象。

Recent Screen

新的 Recent Screen 取代了原来的 Recent Tasks,特点是原来就像一个最近使用的应用列表,现在相当于最近使用的页面列表。 对于豌豆荚来说,我们希望用户不只是看到自己什么时候用了豌豆荚,而是看到用户在豌豆荚里浏览了三个应用,可以随时回到那三个应用里面,类似这样的功能。其实这样可以给开发者提供一个更好的用户入口,让用户回到你的应用时更方便,或者能力更强。

更多设备支持

Android 5.0 在更多设备上都有了支持,不仅在了手机上,现在可以伴随着Android Wear、Android TV、Android Auto,这三个现在都有 SDK ,整个发展状态还都比较好。

Android Wear 已经有了很多 App,Android TV 上也有很多游戏和应用,Android Auto 发布了第一版SDK。比如说在 Android 5.0 里面增强了通知栏,用户看到手机上是一个普通的通知栏,但同样的通知栏到手表上去看,比如打开 Android Wear,发现可以上下翻动、左右翻动邮件,在这样的设备上能获得一个更好的体验,同样它提供了 TV input Framework (TIF) 框架。

比如对于流媒体来说,可以非常快速地把内容部署在 Android TV 上,开发者做一个 Android TV 的 App,用户可以在 Android TV 上用这样的内容。

同样,通过新的 MediaPlay Session 接口,可以方便地把用户手机上的流媒体放到汽车上,可以实现一进汽车就自动播放、在汽车的车载系统上控制手机的内容,这些新的接口其实都是提供了很多新的机会。 现在这样的 App 还偏少,比如目前看 Android Wear 的 App 可能做得最多的就是卖各种各样的表盘,实际上这个方面还有很多的可能性,当然它是一个特别新的领域,存在着一定的未知性,如果现在看这样的机会,可能给你提供的是很多新的产品机会。

以上就是我感觉目前 Android 5.0 对于移动开发需要关注的点,总体来说,如果需要做一个新产品,开发者需要看到一些新的技术可能性,看到一些新的技术的趋势,希望这个分享能够对从事开发的朋友们有所帮助。

时间: 2024-10-10 16:17:49

Android 5.0 技术新趋势的相关文章

Android 5.0 Lollipop新的摄像头API

前记:今天突然发现我刚打开的项目代码在eclipse中打了好几个警告,Camera is deprecated, Camera.Parameters is deprecated--等已经废弃的警告.一看官方文档原来Google本次Android版本更新对Camera这块新出了替代类android.hardware.camera2. 这个类把Camera设备封装成多级(包含多个处理阶段)的线性管道,这个管道用来处理输入请求中捕获的每个帧.通过camera2向系统请求拍照时,会返回一个带有一套图像缓

android 5.0新特性

Android Lollipop 面向开发者的主要功能 Material Design 设计 注重性能 通知 以大屏幕呈现 以文档为中心 连接性能再上一级 高性能图形 音频处理功能更强 摄像头和视频处理进一步完善 Android 在办公中的应用 屏幕截图和共享 新型传感器 Chromium WebView 辅助功能和输入 构建低电耗应用 欢迎使用 Android 5.0 Lollipop,这是迄今为止规模最大最为雄心勃勃的 Android 版本! 此版本为用户推出了各种崭新的新功能,为开发者则提

android 5.0 新特性

android 5.0 的新特性 Material Design: Gives you and unexpanded UI toolkit for integrating the new degin patterns easily in your apps New 3D views let you ser a z-level to raise elements off of the view hierarchy and cast reltime shadows ,even ad they mov

Android 5.0 API

Android 5.0 API 在本文档中展开 更新目标 API 级别 重要的行为变更 界面 通知 图形 媒体 存储 无线和连接 Project Volta Android 在办公和教育中的应用 系统 打印框架 测试和辅助功能 IME 清单声明 API Differences API level 20 to 21 ? L Developer Preview to 21 ? See Also Android 5.0 Behavior Changes Android Lollipop Highlig

【译】Android 7.0 for Developers

译者注: 译者:aroundme 原文地址:https://developer.android.com/about/versions/nougat/android-7.0.html 主要是介绍Android 7.0提供新特性. 翻译的动机主要是为了适配Android 7.0,提前踩点.防止大坑. 就翻译来看,除去一些可有可无的更新之外,关注点主要是集中在四点: * 通知栏一系列更新 * 对于应用后台优化(或者说限制) * WebView持续性更新(混合开发需要注意) * 对于GPU的优化,优化3

谈谈Android 6.0 的动态权限管理

1.前言 大家都知道Android 6.0的新特性之一就是应用权限的管理.也就是说凡是涉及用户隐私的权限,用户可以自己去设置管理了.然而在6.0以前,我们安装一款APP是默认同意此APP所需的所有权限(比如定位.访问通讯录),不同意就不能安装.当然,国内的一些手机厂商基于Android定制的系统中,可以实现在6.0以前关闭指定的权限.如下图: 2.危险权限列表(Dangerous Permission) Dangerous Permission一般都是涉及用户隐私的权限. 从上面的图片中可以看到

Android 9.0新特性

1.全面屏支持,Android P加入了对刘海屏的支持,谷歌称之为凹口屏幕(display with a cutout).借助最新的提供的DisplayCutout类,开发者可以找到非功能区域的位置和形状,而非功能区域是不应显示功能的:使用getDisplayCutout()就可以获取这个区域的详细信息,未来刘海屏手机很有可能成为主流趋势,在前摄像头没有比较好的隐藏方案出现之前,这可能是提高屏占比的好方法. 2.通知栏的多种通知,从牛轧糖开始,你就可以增加一个action以对消息或从通知直接进入

开发者必看|Android 8.0 新特性及开发指南

背景介绍 谷歌2017 I/O开发者大会今年将于5月17-19日在美国加州举办.大会将跟往年一样发布最新的 Android 系统,今年为 Android 8.0.谷歌在今年3 月21日发布 Android 新系统开发者预览版时已给新系统取名为 Android O.自2008 年发布以来, Android 依靠 Google 的生态运作,全球市场份额在2016年底已超过85% .而近几年依靠 Android 发展起来的智能手机厂商不断增加, Android 生态大家庭也正在不断壮大. Androi

[转]Web3.0时代,企业知识管理新趋势

[转自http://www.amt.com.cn/html/ManageFront/AMTPoint0/2014/0716/1370.html] Web3.0时代,企业知识管理新趋势 2014-07-16 18:54作者 肖启操 [本文导读]知识管理对于企业的价值在哪里?不同的企业在应用知识管理时会重点关注哪些价值?关于Web3.0时代的知识管理发展新趋势,我们从知识管理价值变化开始说起. 近20年,科技浪潮发展的一个基本框架可以被描述为:基于网络互联的Web 1.0时代,基于社交的Web2.0