和开发者相关的 Android N Changes(新特性)

Android N 发布了很多新的特性,这里只总结了对于开发者比较关注的一些。

Multi-Window Support

多窗口模式,在同一时刻显示多个app的支持。 在一个手持设备上,两个app能够同时运行在彼此的旁边,或者一个在另一个的上面 。
在电视设备上,多个app可以使用画中画模式,以便使用户在和另一个app交互的同时继续播放视频。
和开发者相关的 Android N Changes(新特性)_第1张图片

Notifications

通知栏增强。
Template updates: 模板更新。开发者可以利用新的模版,在代码里面做最小的调整修改。
Message style customization: 消息样式可以自定义。
Direct reply:通知栏可以直接回复。该feature可以使用户不必进入相应的app,而从notification上迅速回复。
Bundled notifications: 可以将消息分组,支持用户绑定相似的notification作为一个组出现在notifications组里面,例如邮件主题,并显示该组。
用户可以展开每一个notification, 并且可以做一些例如回复、消除某一个notification的操作行为。
例如,你的app创建了一个notification来相应收到的信息,当收到多个信息的时候,可以使这些相同的notification作为一组显示。
你可以展开这组里面的所有信息,查看每条信息的详细内容。
Custom views: 自定义通知的视图界面。
和开发者相关的 Android N Changes(新特性)_第2张图片
和开发者相关的 Android N Changes(新特性)_第3张图片
和开发者相关的 Android N Changes(新特性)_第4张图片

Data Saver

控制app在后台运行时是否可以访问移动数据。
打开Data Saver设置,默认会使所有的app在后台运行时不可以使用移动数据,当然也可以指定某一些app。
和开发者相关的 Android N Changes(新特性)_第5张图片
和开发者相关的 Android N Changes(新特性)_第6张图片

Quick Settings

Quick Settings可以使用户在通知栏钟的,简单快捷的进行一些常用设置的操作。
Android N版本上扩展了Quick Settings的范围,并且增加了更多的空间来添加更多的Quick Settings,并且可以使用page显示。
和开发者相关的 Android N Changes(新特性)_第7张图片

优化Doze模式

Android 6.0引入了Doze模式,目的是在设备在闲置的时候,延迟CPU和网络的活动,来节省电量。
在Android N上,进一步优化了,当设备拔掉电源并且屏幕处于关闭一段时间,系统会对app做一些cpu和网络的限制,来节省电量。
和开发者相关的 Android N Changes(新特性)_第8张图片

Profile-guided JIT/AOT Compilation

新增Just in time(JIT)编译器,JIT实现于ART,有助于提高运行时性能,节省存储空间,加快应用程序的更新和系统的更新。
(1)Profile-guided 编译可以使ART对每一个app的使用情况来管理AOT/JIT编译。
ART编译模式,会保持每个app常用的方法的简要信息,并将这些进行预编译并缓存在本地,app的其它部分只有在用到的时候才会被编译。
(2)除了对app的一些关键部分提高了性能,还减少了app总体的RAM空间占用,包括相关的二进制文件。该特性对于存储空间低的设备很重要。
(3)ART用一种对设备电池最小影响的方式来管理profile-guided编译。只有当设备处于闲置和充电状态的时候才会进行预编译,通过这样做一些预先的工作来节省时间和电量。

关于ART:
ART模式与Dalvik模式最大的不同在于,在启用ART模式后,系统在安装应用的时候会进行一次预编译,在安装应用程序时会先将代码转换为机器语言存储在本地,这样在运行程序时就不会每次都进行一次编译了,执行效率也大大提升并缓存这些方法。

app 安装更新提速

ART的JIT的编译器最直接的优势就是app安卓和系统更新的提速。
在android 6.0之前编译安装一个大的app需要几分钟去优化和安装,而在android6.0之后仅需要几秒钟。
系统更新也是更快,因为不再存在优化的步骤。

Number Blocking

Android N支持了电话黑名单。
当一个电话号码被设置成了黑名单之后,SMS,MMS等也会禁止此黑名单号码。
拉入黑名单的号码是保存在数据库的。

Call Screening

电话屏蔽。
该特性允许 Phone app做一系列的行为来屏蔽来电:拒接;禁止在通话记录中显示;禁止在通知栏现实。

VR Support

Android N为新的VR模式提供了平台支持和优化,可以使开发者为用户构建高质量的移动虚拟现实体验。

New Emojis

新表情。
Android N引入了更丰富的表情,如果你的app支持表情,可以通过API使用android N系统提供的相关特性。

Android TV Recording

Android N增加从Android TV的输入服务中,记录并回放的功能。

Always on VPN

使VPN始终处于连接状态,当系统的启动的时候VPN也同时启用。
可以通过:Settings>More>Vpn来设置。

Accessibility Enhancements

字面意思是可访问性增强。在这里其实是指设置的可见性增强,当一部新的设备第一次启动时,
可以将一些设置显示在欢迎桌面上。可以使用户更方便的发现和设置这些相关设置。
该特性应该是针对Android 平台系统研发的。

Direct boot

该特性提高了系统启动的速度,并且可以使通过注册到Direct boot的app能够在系统异常重启动的时候,依然可以使用一些受到限制的功能。
例如,一部加密的手机,在用户睡觉的时候重启,那么注册到Direct boot的闹钟、sms、call等依然可以正常的通知到用户。
也就意味着当设备重启之后,这些功能可以立即可用。

原理上:
Direct boot在设备屏幕被锁的时候,可以利用一些加密数据文件,而系统利用这些加密的文件来注册app数据。系统会有一个设备加密的存储中心,来存储系统的一些数据和注册app数据。
在设备未解锁之前,系统只能以受限的模式启动并运行,只有访问设备的一些加密数据的权限,而不能像平常一样访问所有的app和数据。如果你有组件想要运行在这种模式下,则需要在你的app的manifest文件中进行注册。
然后当设备重启之后,系统会激活这些组件,而注册过的app的数据会被保存到系统的设备加密存储中心,从而保证注册过的app数据在设备未解锁的时候是可用的。
但是令一些数据是不可用的,直到用户确定屏幕解锁来解密它。

Vulkan API

Android N集成了Vulkan API,它是一个新的3D渲染api.
##APK Signature Scheme v2
新的签名方案,提高了app的安装速度,并且对于apk未授权的改变提高了安全性。

相关设置,open the module-level build.gradle file:

  android {
    ...
    defaultConfig { ... }
    signingConfigs {
      release {
        storeFile file("myreleasekey.keystore")
        storePassword "password"
        keyAlias "MyReleaseKey"
        keyPassword "password"
        v2SigningEnabled false
      }
    }
  }

Scoped Directory Access

简化了app访问拓展存储空间的方式。

Keyboard Shortcuts Helper

在Android N版本上,可以像在电脑上在输入键盘中输入”Alt + /”,触发显示所有的app的快捷方式,这些都是从可用的app的菜单中自动检索出来的,但是开发者可用自己提供自己的更为协调的app快捷方式列表,可以通过重写Activity.onProvideKeyboardShortcuts()来实现,具体可以参看官方API。

Sustained Performance API

此api是为了使开发人员开发出能够长时间运行的高性能的app。
它是Android N支持,由OEM厂商提供的能够提示设备性能显示的应用程序。
从而app的开发者可用使用这些提示了调整自己的app的性能。
应用程序开发者可以在Nexus 6P设备上尝试这个新的API的开发者预览版。要使用此功能,要在持续的性能模式下运行窗口的持续性能窗口标志。使用窗口设置此标志,Window.setsustainedperformancemode()方法。当窗口不再获取焦点,该系统将自动关闭此模式。

你可能感兴趣的:(Android)