Android7.0新特性

OverView模式

多窗口模式,大屏幕设备可以打开两个应用程序窗口

Data Saver

流量保护机制。启用该模式,系统将拦截后台数据使用,在适当的情况下减少前台应用使用的数据量,通过配置厂商白名单可以让应用免受该模式的影响。谷歌也减少一些图像传输的分辨率,限制移动流媒体服务的码率,限制一些软件的预缓存功能(自动读取用户并未请求的数据)。

支持Java8

Java8的支持使得可以在Android开发者使用Lambda表达式

后台省电

屏幕关闭后后台进程将会被系统限制活动。在 Android N 中,谷歌删除了三个常用的隐式广播 --- CONNECTIVITY_ACTION、ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO。因为这些广播可能会一次唤醒多个应用的后台进程,同时会耗尽内存和电池,开发者想进行进程保活越来越难。

多窗口下的生命周期

targetSdkVersion设置为24,代表该App是支持多窗口的。

进入多窗口模式:

  • onPause
  • OnStop
  • OnDestory
  • onCreate
  • onStart
  • onResume
  • onPause 这个时候的手机已经开启了多窗口模式,只不过当前焦点在另外一个App上,当点击我们的App时,onResume才会执行,当操作另外一个界面又会走onPause。

退出多窗口模式回到我们的App:

  • OnStop
  • OnDestory
  • onCreate
  • onStart
  • onResume
  • onPause
  • onResume App会经历一次销毁重建后再次失去焦点获取焦点。
禁用多窗口模式

在targetSdkVersion大于24时在清单文件中加入resizeableActivity=false这个属性当开启多窗口模式时会提示用户该应用不支持多窗口;

在小于24的情况下是通过设置禁用横竖屏切换属性来设置不支持多窗口模式的:在当前activity加入该属性:screenOrientation="portrait"

Jit编译器

在 Android N 中,添加了 Just in Time (JIT) 编译器,它可以对 ART 进行代码分析,让它在应用运行时能够持续提升 Android 应用的性能。 这个功能有什么作用呢?JIT 编译器对 Android 运行组件当前的 Ahead of Time (AOT) 编译器进行了补充,有助于提升系统运行时的性能,节省存储空间,加快应用更新和系统更新速度。 Android N不会一股脑地全部进行AOT预先编译,而是结合JIT实时编译、混合编译,都针对每个应用进行优化,可大大提升应用安装速度、性能、存储和能效,号称安装速度比原来快最多75%。 这个功能还有助于减少整个 RAM 占用,包括关联的二进制文件。 此功能对于低内存设备非常有意义。同时,它可以最大程度降低对设备电池的影响,能够使系统更省电,因为仅当设备处于空闲状态和充电时才进行编译。

转载于:Android7.0新特性 - 掘金 (juejin.cn)

相关推荐
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
千里马学框架2 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台2 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone2 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
致远ccc2 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
C语言小火车2 天前
C/C++ 为什么需要编译器?
开发语言·c++
霍霍的袁2 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
ttyyttemo2 天前
Kotlin 协程中的 Job 结构化并发与取消
android
孙启超2 天前
【AI开发之Rust】第 11 课:智能指针与内部可变性
开发语言·后端·rust