重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
一、 性能改善
10年的叶城网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整叶城建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“叶城网站设计”,“叶城网站推广”以来,每个客户项目都认真落实执行。
Doze超级省电模式
手机在关屏同时没有充电的情况,会进入打盹状态,这时候app的位置服务,访问网络,cpu background-running 等后台服务会被停止,不允许定时任务,忽略wake locks,停止wifi scanner。
会影响app的保活,尤其对那些需要接受消息类的app。Google 推荐使用GCM。
后台优化
广播:
静态注册CONNECTIVITY_ACTION 广播将失效,只有动态注册才行。Android 5.0上可以使用JobScheduler在指定的网络条件运行你的任务,还可以通过ConnectivityManager registerNetworkCallback()来监听网络状态。
ACTION_NEW_PICTURE,ACTION_NEW_VIDEO广播已经去除,当然应用可以通过ContentResolver来监听。Android N上面可以JobScheduler来监听
二、 NDK 试用改变
限制只能试用平台公共api,否则你的应用会crash,最好只使用NDK中包含的api,否则系统被定制了可能会找不到你要链接的so,其次使用第三方so的时候也要注意对方有木有试用非法的so.
如图:
三、 Screen Zoom
用户最低可以改变到屏幕宽度为320dp,所以app最好能适配sw320dp,当你的 compile target android N 时,当用户改变屏幕显示大小时,会杀掉后台进程(你的app会被干掉哦)
四、 Language and Locale
支持多用户多语言环境,提供新的API: LocaleList.GetDefault(),可以获取所有用户的语言环境。
同时app多语言查找策略改变,当你的app中不在当前语言环境的resources时,会找最接近的语言代替,而不是直接使用默认语言代替。如:你的app的Resources中只包含 es,和zh_cn,当用户的环境是zh_tw时,会用zh_cn代替。并且还支持自定义语言目录。
五、 Multi-Window Support
Android N机器上默认就支持Multi-Window,同一个屏幕可以运行多个app窗口。有两种模式,split-screen mode和picture-in-picture mode。app开启和关闭这两个模式很方便,在AndroidManifest.xml配置一下即可。
android:resizeableActivity=["true" | "false"]
android:supportsPictureInPicture=["true" | "false"]
这种模式在平板电脑上面很合适。
六、Notifications
Android N提供一些新的关于Notifications的API。
RemoteInput.Builder:使得用户可以在通知栏直接回复,这个很适合社交类app和短信app,以及可以应用到用户反馈中。
NotificationCompat.Builder.setGroup():可以使同一个app通知放在同一个分组。
NotificationManager:能让你知道你目前发了多少条通知,怎样通知进行分组。
七、Data Saver
当用户开启流量节省后,会禁止app在后台使用收费网络流量数据。甚至在前台使用流量时也会发出警告。
ConnectivityManager.isActiveNetworkMetered(),
ConnectivityManager.isActiveNetworkMetered(),
查询是否开启流量节省模式,自己是否在用户白名单中(对自己例外)
ConnectivityManager.ACTION_RESTRICT_BACKGROUND_CHANGED
监听用户开启流量节省模式
八、Network Security Configuration
能让app定制网络安全设置:
Debug-only overrides(自定义信用的CA)。
Debug-only overrides(自定义能调试你app信用的CA)
Cleartext traffic opt-out(防止网络请求明文交互)
Certificate pinning(自定义只信用包含特定公钥CA)
从 Android N 开始,在首次开机时,在用户尚未来得及解锁设备之前,设备可直接启动到一种名为 Direct Boot(直接启动)的新模式中。在此模式下,操作系统可以全功能运行,但不允许访问私有应用数据,只能运行经过更新、可支持直接启动功能的应用。
直接启动适合我的应用吗?并非所有应用都应运行在直接启动模式下,因此,在开始编码之前,请务必先检查您的应用是否符合以下常见的用例:
安排闹铃的应用,如闹钟。
提供重要且及时的通知的应用,如短信应用。
为其他应用或系统提供服务的应用,例如辅助工具服务。
请注意,以上并非详尽的用例列表,我们期待看到还有哪些类型的应用能够从直接启动模式获益。
让您的应用支持直接启动
为了让您的应用能够在用户解锁设备之前运行,您必须在清单文件中将组件显式标记为支持直接启动:
activity|provider|receiver|service ...
android:directBootAware=”true”
您可以选择您的应用中需要支持直接启动的组件子集,但如果您使用的是自定义 Application 类,则假定应用内部标记为支持直接启动的任何组件均支持直接启动。对于需要在直接启动模式下在系统启动之后尽快运行的应用,现在提供一种新的 Intent.ACTION_LOCKED_BOOT_COMPLETED 广播。在用户解锁该设备之后,所有应用仍将收到 Intent.ACTION_BOOT_COMPLETED 广播。
使用设备保护存储区为了支持应用在用户提供解锁私有应用数据所需的凭据之前的正常运行,所有 Android N 设备现在均提供两个数据存储位置:
凭据保护存储区,这是所有应用的默认存储位置,仅在用户解锁设备后可用。
设备保护存储区,这是一个新的存储位置,当设备启动后(包括直接启动期间)随时都可访问该位置。
应用中被标记为支持直接启动的组件必须使用设备保护存储区来存储直接启动模式期间应用操作所需的任何数据。在用户解锁设备后,用户仍可访问凭据保护存储区。
要访问设备保护存储区,您需要为所有文件相关的 API 另外创建并使用一个 Context 对象:
Context deviceProtectedContext = context.createDeviceProtectedStorageContext();
deviceProtectedContext.openFileInput( ... )
当您的应用更新到支持直接启动的版本之后,您之前保存的共享首选项
或数据库可能需要迁移到设备保护存储区。在访问该存储区之前,即使数据已从旧版本或其他设备中备份并恢复,您仍应使
用 Context.moveSharedPreferencesFrom() 和
Context.moveDatabaseFrom(),以确保应用能够继续正常运行。
注意事项
您
应审慎考虑要在设备保护存储区中存储哪些数据。应尽量减少在设备保护存储区中存储的数据,以确保您的应用在直接启动期间正常运行为限。例如,在短信应用
中,您可以存储一个访问令牌,其作用域仅限于能够访问服务器上的新消息数量。所有敏感的私人信息(例如完整的短信历史记录和读/写访问令牌)仍应保存在凭
据保护存储区中。
另外需要提醒的一点是:在直接启动期间,应用只能访问其他支持直接
启动的应用和组件。如果您的应用依赖外部服务和 Activity,请确保妥善处理外部服务和 Activity
不可用的情形。默认情况下,Intent 过滤器仅匹配当前用户状态(已锁定/已解锁)下可用的组件。现在有两个新的标志,可用于向 Package
Manager
显式声明需要枚举哪些组
件:PackageManager.MATCH_DIRECT_BOOT_AWARE 和 PackageManager.MATCH_DIRECT_BOOT_UNAWARE。
未来计划
在
原生支持直接启动的 Android N 设备发布之前,您可以使用 Android N 开发者预览版测试您的应用。在 Nexus 5X 和
Nexus 6P 上,您可以通过使用 Settings Developer options Convert to file
encryption 来擦除所有用户数据并启用完整的直接启动模式。或者,您也可以重新启动到引导装载程序并发出相应的快速启动命令:
$ adb reboot-bootloader
$ fastboot --wipe-and-use-fbe
警告:这两种方法都将执行恢复出厂设置并删除设备中的所有用户数据。
或者,您也可以使用模拟的直接启动模式。若要启用模拟直接启动模式,请在设备上设置锁定模式,如果在设置锁定模式时系统提示安全启动屏幕,则选择“No thanks”,然后使用以下 adb shell 命令启用和禁用模拟:
$ adb shell sm set-emulate-fbe true
$ adb shell sm set-emulate-fbe false
请注意,使用这些命令会导致设备重启。您只应在测试设备上使用模拟直接启动模式,因为该模式可能导致数据丢失。
按照惯例,新系统将在 Google 年度的开发者大会,即 Google I/O 2016 上公布。而 Android N 的开发者预览版,将会由 Sundar Pichai(就是那个全美薪酬最高的 Google CEO),在美国时间的 5 月 18 号公布。
Android N 值得期待的 10 件事
1. 主题皮肤管理器
在 CM 等一众第三方系统中,早已支持便捷地修改壁纸、图标和系统颜色。在商店和论坛中,也能找到不少优质的皮肤主题。
而当我们提到原生 Android,似乎总是长着一张固定的脸。实际上,在 Google 自家的 AOSP(即Android 开源项目)中,早已内置了主题管理。
而在 Android M 的开发者预览版中,也加入了主题管理器(可惜被需要 Root 和特定方式才能激活)。既然系统内的皮肤主题框架早已搭建好,那就只等 Google 在 Android 系统中放出啦。
2. 应用程序抽屉的消失
在 2 月 26 日,Google Map 的官方 Twitter 发布了一条介绍视频,其中的展示机 Nexus 6P 的系统界面中,似乎看不到底部的应用抽屉按钮了。发现问题的同学也开始集体留言质问:「WHERE IS THE APP DRAWER?!?!」
而在之前也确实有传闻爆料:在新版 Android N 中,或许会将应用抽屉的设计去除,选择采用 iOS 和 MIUI 的应用呈现方式,即全部在桌面首页中展示。
去除二级菜单的做法,会带来更加凌乱的桌面,还是更有效率的操作体验?似乎很难定论,但作为 Android 玩家,大可选择 Nova 启动器等优秀的第三方桌面,而不必担心我卓药丸。
3. 夜间模式会许要来了
在 Android M 的开发者预览版中,Dark Mode 夜间模式曾短暂地出现过,而在正式版中又被砍去。
而最新的 Android N 泄露图中,黑色背景的右图也表示着:夜间模式回归 Android 了。
而更加值得期待的是,Google 已经放出了夜间模式的开发代码,开发者可以轻松地为自己的应用设定「暗色主题」。也许今后只需轻按「夜间模式」的按钮,从系统到各个应用,都能直接更换成夜间模式。
这一改变,不仅对于越来越多 AMOLED 屏幕手机而言,是省电的好方法。对于经常深夜玩手机的同学来说,似乎也可以和刺眼的白光说再见了。
4. 分屏多任务以及平板支持
在 LG 和三星都推出了「分屏模式」后,Google 在 Android N 中加入分屏功能也是众望所归了。同样的,在上一个版本 Android M 中,分屏模式也被隐藏起来,需要特定方式才能激活。
不负众望,来自 Google 的 Pixel C 团队在接受 Reddit AMA 论坛访谈时,确认了「split screen is in the works」。
而分屏多任务,似乎在 Android 平板上也更加适用。值得一提的是,该团队也宣称 Android 系统的平板,在 Android N 中将会更加好用,而不仅仅是将应用界面拉升就够了。
但对于 Chrome OS 的联动猜想、DPI 切换和和界面的调整,似乎只能等 Google I/O 那天,才知道答案。
5. 支持触控笔
在三星公布的文档中,我们发现三星在 Android N 中,采用了系统自带的触控笔接口,而不再使用原先的 S PEN 专属接口。
而在 Android 5.0 (开始支持节电助手)之前,三星关闭了自家的节电模式接口。在 Android 6.0 (开始支持指纹识别)之前,又关闭了自家的指纹识别接口。而在 Android 7.0 公布之前,三星又再一次关闭了自家的触控笔接口,这……
6. 更好的 Doze 省电模式
Doze 省电模式首次出现在 Android M 中,其省电原理是在设备休眠时,关闭关闭应用后台,以达到省电的效果。
在亲身体验后,Doze 模式确实发挥了很好的效果,起码待机的时候不掉电了。但在目前这一功能,在操作体验和用户自定义方面,却有些过于简单了。
所以直到今天 Android 6.0,我依然选择绿色守护等第三方应用,去实现控制后台应用耗电的问题。但 Root 终归有风险,而 Android N 也有理由提供一个更好用的 Doze 省电模式。
7. 更完善、开放的设计
在 AppSo 年度精选的 Android 榜中,绝大部分应用都采用了 Material Design。但不得不承认,这一设计风格直到今天,在动效和交互上,依然没有一个完美的榜样。
我们不会期待 Android N 完全改头换面,带来全新的界面,但在图标、按钮、交互动画和界面设计上。
Android N 平台也就是 Android 7.x 版本。
2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布。2016年6月,Android N正式命名为“牛轧糖”。
Android N主要在运行时和图形处理上做了更新。运行时间上,Android N对编译器进行了优化,软件的运行时间提升了3-6倍。引入了一个全新的JIT编译器,使得App安装速度快了75%,编译代码的规模减少了50%。
图形处理方面,N加入了一个新的图形工具Vulkan,可以帮助游戏的视觉体验更加出色,并减少对CPU的要求。
Android N支持Vulkan API,包括其全部特性,尤其是能够降低CPU系统开销,提升描绘指令,应用编译与安装方面,Android N不会一股脑地全部进行AOT预先编译,而是结合JIT实时编译、混合编译,都针对每个应用进行优化,可大大提升应用安装速度、性能、存储和能效,号称安装速度比现在快最多75%