Android5.0/6.0/7.0/8.0各个版本Api重要变更

Android5.0(api等级:21)

1.运行环境的改变

Android5.0之前运行的环境是dalvik虚拟机,5.0之后运行的环境是ART虚拟机。ART主要包括一下功能:

预先 (AOT) 编译

经过改进的垃圾回收 (GC)

经过改进的调试支持

大多数 Android 应用应该不用做出任何更改即可直接在 ART 下运行。不过,Dalvik 上运行的部分技术在 ART 上无法运行。

请注意以下问题:

您的应用使用 Java 原生接口 (JNI) 运行 C/C++ 代码。

您使用的开发工具可生成非标准代码(例如某些混淆代码)。

您使用的技术与垃圾回收压缩不兼容。(虽然 ART 当前没有实施垃圾回收压缩,但在 Android 开放源代码项目中,垃圾回收压缩正处于开发阶段)。

2.Material Design 设计样式

RecyclerView/Cordinartlayout/Collingsplayout/Toolbar之类的UI控件的提供,主要是优化AndroidUI界面,形成自己独有的风格。

通知/声音/震动......提高用户体验

3.显卡

支持OpenGL ES3.1 添加了 Java 接口和原生支持。OpenGL ES 3.1 中提供的主要新功能包括:

对着色器进行计算

单独的着色器对象

间接绘图命令

多样本和模版纹理

对着色语言的改进

用于高级混合模式和调试的扩展

对 OpenGL ES 2.0 和 3.0 的向后兼容性

4.媒体

用于高级摄像头功能的摄像头 API

音频播放

媒体播放控件

5.Project Volta

android 5.0 提供了一个新的JobSchedulerAPI,它允许您通过为系统定义要在以后的某个时间或在指定的条件下(例如,当设备在充电时)异步运行的作业来优化电池寿命。

节省电量

Android6.0(api23)

1.权限管理

Android权限分类:

普通权限(Normal permissions)


危险权限(Dangerous permissions)权限组

系统和签名权限(signatureOrSystem)

   必须把App放到System/App就有此权限或者用系统签名签名

签名权限(signature)必须要有系统级别的签名才能够获取到

2.Doze & App Standby

Doze 的原理是通过对各种传感器的监控, 来判断机器是否处于使用状态。  当 Doze 认为机器长时间处于待机状态的时候, 它会自动暂停绝大部分后台应用, 同时关闭网络连接, 仅在需要时偶尔连接, 如此来达到在待机时节省电量的效果。

需要注意的是, 能足以激活 Doze 的待机时长真的很长, 基本上可能你一上午完完全全不碰手机, Doze 才会被激活。  不过这样倒是也为那些晚上不爱插充电器, 也不愿意关机的人们提供了一种节电的新方式。

另一个功能 App Standby, 指的是系统会自动停用那些许久不用的应用, 从而达到节省电量和减少后台占用的作用。

3.分屏操作

4.移除 Apache HTTP 客户端

Android 6.0 发布版移除了对 Apache HTTP 客户端的支持。如果你的应用程序使用该客户端,并且目标运行版本为 Android 2.3 (API 级别9) 及以上,需要使用 HttpURLConnection 类来代替。这个 API 更加的高效,因为它通过对用户透明的压缩、响应缓存来减少网络开销,并最小化电量消耗。要继续使用 Apache HTTP 的 API,你需要引入org.apache.http.legacy.jar(android{ useLibrary'org.apache.http.legacy'})

Android7.0(api24)

1.移除三个隐式广播(网络变化/拍照后的广播/录制视频后的广播)

Android 7.0 移除了三项隐式广播,以帮助优化内存使用和电量消耗。此项变更很有必要,因为隐式广播会在后台频繁启动已注册侦听这些广播的应用。删除这些广播可以显著提升设备性能和用户体验。

移动设备会经历频繁的连接变更,例如在 WLAN 和移动数据之间切换时。目前,可以通过在应用清单中注册一个接收器来侦听隐式

CONNECTIVITY_ACTION

广播,让应用能够监控这些变更。由于很多应用会注册接收此广播,因此单次网络切换即会导致所有应用被唤醒并同时处理此广播。

同理,在之前版本的 Android 中,应用可以注册接收来自其他应用(例如相机)的隐式 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 广播。当用户使用相机应用拍摄照片时,这些应用即会被唤醒以处理广播。

主要目的还是电池电量的优化

使用jobScheduler代替

2.安全

更安全的加密模式,可以对单独的文件进行加密,android系统启动加密

3.支持vr

Android N上对VR的支持,实际上是使用了一个新的跨平台图形计算库——Vulkan,Vlukan API提升处理能力,减少GPU处理,从而获得更佳的游戏体验,所以说,如果一个手机支持VR,那么从某种意义上来说,这个手机的性能应该是很赞的!

4.引入全新的JIT编译器,使得App安装速度快了75%,编译代码的规模减少了50%

Android8.0(api26)

1.所有的隐式广播都被移除了。

1. 1确定哪些 Broadcast 是隐式(Implict)的

根据官方文档,所有没有直接和你应用相关的广播都是隐式的。比如文档中举例的ACTION_PACKAGE_REPLACED,会在每个新应用安装时被广播。因此,像ACTION_MY_PACKAGE_REPLACED这样的就是显式广播(explicit Broadcast),因为其只会在你的应用更新时才会进行广播。

绝大多数我们监听的广播都是隐式的。

1.2.确定你的应用是否会被影响

这里列出的是没有被移除的隐式广播,也就是如果你的应用只是监听了这些广播的话,那么恭喜你,你的应用不需要改。

1.3.如果应用确实监听了这些被移除的隐式广播,JobScheduler来解救你

JobScheduler 完美适配 Doze 和 App Standby,可以根据定义的条件来执行任务,比如:

ComponentNamemyService=newComponentName(this,MyService.class);JobInfomyJob=newJobInfo.Builder(myService).setRequiresCharging(true).setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY).setPersisted(true).build();JobSchedulerjobScheduler=(JobScheduler)getSystemService(Context.JOB_SCHEDULER_SERVICE);jobScheduler.schedule(myJob);

不过,JobSchedular 只支持 Android API 21 及以上,如果你的应用需要支持以下版本的系统,官方建议可以使用FirebaseJobDispatcher

这里推荐可以用 Evernote 的Android-Job。其能够根据当前系统,当系统为 Marshmallow 及以上时使用 JobSchedular。当版本没达到时,根据是否集成了 Google Play Service 来使用 GCMNetworkManager 或 AlarmManager。

1.4.Fonts in XML

支持自定义字体,在res目录下可以创建font文件夹,文件夹必须为font,文件类型必须是font,然后拷贝进去对应的.ttf/.otf就可以

Creating a font family

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,670评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,928评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,926评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,238评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,112评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,138评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,545评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,232评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,496评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,596评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,369评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,226评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,600评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,906评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,185评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,516评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,721评论 2 335

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,064评论 25 707
  • Android 7.0 新特性(源自官方文档) Android 7.0(API 级别 24) 除了提供诸多新特性和...
    karlsu阅读 4,761评论 0 3
  • 行走、孤独却无需叫喊其他人。一个人吃饭 、一个人购物、一个人行走,穿梭于城市的各个街道,心事如同少女裙摆上...
    超强大无敌李姣阳阅读 265评论 0 1
  • 沒有一個開始 連做夢 都會被恥笑 《潮騷~蔡振源》
    蔡振源阅读 298评论 0 1