zoukankan      html  css  js  c++  java
  • Android N做了啥

    Android N做了哪些改变

    一、    性能改善

    1. Doze超级省电模式

    手机在关屏同时没有充电的情况,在一段时间后会进入打盹状态,第一阶段会停掉同步、作业、网络等访问,第二阶段会停掉app的位置服务、wifi scanner、GPS、wake lock、AlarmManager 等服务。

    会影响app的保活,尤其对那些需要接受消息类的app,引导用户开启白名单,Google 推荐使用GCM。

    1. 后台优化

    广播:

       静态注册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定制网络安全设置:

    1. Debug-only overrides自定义信用的CA)。
    2. Debug-only overrides自定义能调试你app信用的CA)
    3. Cleartext traffic opt-out(防止网络请求明文交互)
    4. Certificate pinning自定义只信用包含特定公钥CA)

    这个特性,对于支付类软件、金融类和购物类等是福音啊,防止劫持,防止重定向。

    这些配置不需要你改代码,只需要加上配置文件即可。

     

     

    九、运行时模式

    AOT、解释、JIT混合运行时模式 

    十、其他

       部分支持ICU4J(能很好支持国际化本地化数据展示)。

       支持java 8语言特性(lambda表达式可以使用啦) -- android 自己的编译器jack&jill支持java 8 

     

    总之:Android N为用户增加了电量管理、流量管理、内存管理、存储管理、通知管理等,提供更加可靠的安全能力,满足用户个性化需求,提高了app用户体验,改善手机使用性能,方便了app开发者。

     

    参考链接:

    https://developer.android.com/intl/zh-cn/preview/j8-jack.html

    http://developer.android.com/intl/zh-cn/preview/samples.html

    https://developer.android.com/intl/zh-cn/training/monitoring-device-state/doze-standby.html

    http://www.pcpop.com/doc/2/2571/2571412.shtml

     

  • 相关阅读:
    数据仓库基础(十四)缓慢变化维
    数据仓库基础(十三)Informatica workflow
    数据仓库基础(十二)Informatica组件(2)
    数据仓库基础(十一)Informatica小技巧(2)
    数据仓库基础(十)组件1
    数据仓库基础(九)Informatica小技巧(1)
    数据仓库基础(八)Informatica 小例子
    数据仓库基础(七)Informatica PowerCenter介绍
    数据仓库基础(六)数据的ETL
    数据仓库基础(五)数据仓库系统应用实例
  • 原文地址:https://www.cnblogs.com/lzl-sml/p/5294462.html
Copyright © 2011-2022 走看看