对于Android粉的我们来说,2015年11月24日凌晨1点~上午10点,2015年11月25日凌晨1点~上午10点这2天,是值得期待的,因为Google公司将进行为期2天的Android开发者大会,大会将发布Android 6.0 Marshmallow(棉花糖)。
Android 6.0其实包含了许多系统的变化和API的变化/增加,但是作为一个忠实的Android粉,我更关注的是其功能的增加,下面将为大家介绍几个比较受关注的功能。
Doze and App Standby(睡眠和App待机)
其实耗电这个问题,困扰了绝大多数的Android粉,针对此问题,Android6.0进行了相应的改进。
Doze:从Android6.0开始,Android提供了两种省电延长电池寿命的功能:Doze和App Standby;当设备没有连接到电源,设备进入Doze模式时,系统将通过延迟最近用户没有使用的应用程序的后台CPU运作及网络活动,让应用程序处于App Standby状态,以此来减少电池消耗。谷歌表示,在Nexus5和Nexus6上测试,当屏幕处于关闭状态,平均续航时间提高30%;为了保证用户的最佳体验,开发者有必要在Doze和App Standby模式下测试应用程序,及其对代码进行相应的调整。
从这张图我们可以看到,系统进入Doze模式后,系统会隔一段时间处理正在挂起的任务,随着时间推移,后面间隔的时间会越来越长,以此来减少电量消耗。
Standby:当用户不触摸使用应用程序一段时间时,该应用程序处于App Standby状态,系统将把该App标志为空闲状态。除非触发以下任意条件,应用程序将退出App Standby状态:
1. 用户主动启动该App;
2. 该App当前有一个前台进程(或包含一个活动的前台服务,被另一个activity或前台service使用);
3. App生成一个用户所能在锁屏或通知托盘看到的Notification, 而当用户设备插入电源时,系统将会释放App的待机状态,允许他们自由的连接网络及其执行未完成的工作和同步。如果设备空闲很长一段时间,系统将允许空闲App一天一次访问网络。
Doze模式需要屏幕关闭(通常晚上睡觉或长时间屏幕关闭才会进入),而App Standby不需要屏幕关闭,App进入后台一段时间也会受到连接网络等限制。
BoringSSL
作为Android的使用者应该都知道,市面上一些流氓软件会在程序里静默安装,偷偷的装个程序在用户手机里,用户根本不知道这个程序访问了什么权限和隐私,这样就会很不安全,存在了很大的安全漏洞。而在Android6.0以后呢,不止在安装程序时提示用户需要什么权限,在程序运行过程中,请求了某种权限,系统也会在请求权限之前弹出一个的对话框,告诉用户xx程序要请求xx权限了,是否允许使用,决定权在用户手中。如果是流氓软件想偷偷的在后台发送吸费短信,一下就能被用户发现了。
而这项技术的实现,依靠于BoringSSL,BoringSSL是更安全的SSL协议。Android6.0以前SSL协议使用是的OpenSSL协议,近几个月来,OpenSSL 多次爆出严重安全漏洞,如「心脏出血」与「中间人攻击」等。漏洞会导致服务器中存储的内容泄露,其中包括用户名、密码与信用卡号等隐私数据,由此引发了大规模的互联网安全恐慌。在Android6.0以后,Android将SSL替换成BoringSSL。
Android6.0还更新了很多功能与API,介于我并不是一个技术深入研究者,在此就不做过多的复述,如果有兴趣的,可以关注传智播客Android最新课程。