Android 8.0對(duì)應(yīng)的API版本號(hào)為26,新系統(tǒng)取名為Android O聘裁,O代表是Oreo(奧利奧)雪营。以下總結(jié)了Android8.0最新發(fā)布版本的較突出的一些新特性。
1衡便、畫(huà)中畫(huà)模式-- PIP
在I/O2017上献起,谷歌演示了增強(qiáng)功能的畫(huà)中畫(huà)模式洋访。例如用戶可以在打電話時(shí)觀看電影,支持將電影屏幕縮小成懸浮窗口谴餐,在看電影的同時(shí)也可以進(jìn)行查看日歷姻政、搜索信息等其他工作,這比普通的畫(huà)中畫(huà)分屏模式功能更強(qiáng)大岂嗓。這一功能的喚醒只需要輕輕點(diǎn)擊Home鍵按鈕汁展,如果想結(jié)束這一模式,可以將小窗口滑下來(lái)以終止厌殉。
2食绿、通知--Notification
在 Android O 中重新設(shè)計(jì)了通知,可以很方便的為管理通知行為和設(shè)置提供更輕松和更統(tǒng)一的方式公罕。
這些變更包括
通知渠道:Android O 引入了通知渠道的概念器紧,其允許用戶為要顯示的每種通知類型創(chuàng)建可自定義的渠道,借助渠道楼眷,開(kāi)發(fā)者可以讓用戶對(duì)不同種類的通知進(jìn)行精細(xì)控制铲汪,用戶可以單獨(dú)攔截或更改每個(gè)渠道的行為,而不是統(tǒng)一管理應(yīng)用的所有通知罐柳。
通知標(biāo)志:Android O 引入了對(duì)在應(yīng)用啟動(dòng)器圖標(biāo)上顯示通知標(biāo)志的支持掌腰。
休眠:用戶可以將通知置于休眠狀態(tài),以便稍后重新顯示它硝清。
通知超時(shí):現(xiàn)在使用 setTimeoutAfter() 創(chuàng)建通知時(shí)您可以設(shè)置超時(shí)辅斟。
通知設(shè)置:當(dāng)您使用 Notification.INTENT_CATEGORY_NOTIFICATION_PREFERENCESIntent 從通知?jiǎng)?chuàng)建指向應(yīng)用通知設(shè)置的鏈接時(shí),您可以調(diào)用 setSettingsText() 來(lái)設(shè)置要顯示的文本芦拿。
通知清除:系統(tǒng)現(xiàn)在可區(qū)分通知是由用戶清除士飒,還是由應(yīng)用移除。
背景顏色:您現(xiàn)在可以設(shè)置和啟用通知的背景顏色蔗崎。
3酵幕、后臺(tái)執(zhí)行限制 -- Background execution Limits 和 后臺(tái)定位限制 -- background location limits
谷歌一直在優(yōu)化安卓Android的后臺(tái)應(yīng)用限制策略,以最大程度減小后臺(tái)應(yīng)用對(duì)電池的消耗和對(duì)資源的占用缓苛。
Background execution Limits主要有下面兩個(gè)方面:
(1)芳撒、對(duì)Background?Service 的限制
當(dāng)一個(gè)應(yīng)用程序在前臺(tái)的時(shí)候,可以自由運(yùn)行Foreground 和Background service未桥。但是當(dāng)應(yīng)用程序切換到后臺(tái)的時(shí)候笔刹,在開(kāi)始幾分鐘所有的services都可以正常使用,過(guò)幾分鐘后冬耿,系統(tǒng)將會(huì)停止所有的Background service舌菜,就好比調(diào)用了Service.stopSelf( ) 。
在Android O之前亦镶,創(chuàng)建一個(gè)Foreground Service的方式通常是先創(chuàng)建一個(gè)Background Service的方式日月,再通過(guò)startForeground()的方式變?yōu)榍芭_(tái)袱瓮。但是在Android O中,如果應(yīng)用程序運(yùn)行在后臺(tái)爱咬,那么即不能查創(chuàng)建Background Service尺借,同時(shí)也就不能創(chuàng)建Foreground Servicele了。
(2)精拟、對(duì)Broadcast 的限制
如果一個(gè)應(yīng)用創(chuàng)建了一個(gè)廣播接收器燎斩,每當(dāng)這個(gè)receiver收到廣播的時(shí)候,都會(huì)消耗系統(tǒng)資源串前。如果太多應(yīng)用注冊(cè)了某個(gè)系統(tǒng)事件的receiver瘫里,一個(gè)系統(tǒng)事件將會(huì)喚起所有的receiver,造成同時(shí)大量的系統(tǒng)資源被消耗荡碾,從而影響用戶體驗(yàn)谨读。為了解決這個(gè)問(wèn)題,在Android N中添加了對(duì)廣播的限制坛吁,在Android O這些限制更加嚴(yán)格了劳殖。
background location limits
主要是增加了對(duì)定位服務(wù),位置更新服務(wù)的限制拨脉。進(jìn)一步信息可以參考官方鏈接:
https://developer.android.com/preview/features/background-location-limits.html
4哆姻、自適應(yīng)圖標(biāo) -- Adaptive Icons
Android 的屏幕適配一直以來(lái)開(kāi)發(fā)者不得不面對(duì)的難題。為了幫助開(kāi)發(fā)者更好的在設(shè)備 UI上進(jìn)行集成玫膀,Android O 開(kāi)始支持創(chuàng)建自適應(yīng)圖標(biāo)矛缨,系統(tǒng)可以基于設(shè)備選擇的蒙版將這些圖標(biāo)顯示為不同形狀。
如果開(kāi)發(fā)者默認(rèn)在應(yīng)用程序圖示中使用了圓角正方形帖旨,那么應(yīng)用程序的圖標(biāo)都將是這個(gè)形狀箕昭,將不會(huì)出現(xiàn)方形圖標(biāo)和圓形圖標(biāo)混合的現(xiàn)象。
具體可以參考官方鏈接:
https://developer.android.google.cn/preview/features/adaptive-icons.html
5解阅、固定快捷方式和小部件 — Pinning shortcuts
Pinning shortcuts 是一個(gè)比 APP shortcuts 更小的快捷方式落竹,放置于桌面上,用于更快速的打開(kāi)某一 APP 的某單一任務(wù)货抄。Pinning shortcuts 在桌面上可呈現(xiàn)不同的圖標(biāo)顯示述召。在您的應(yīng)用中,您可以根據(jù)用戶權(quán)限為支持的啟動(dòng)器創(chuàng)建固定的快捷方式和小部件蟹地。
可以參考官方鏈接了解更多:
https://developer.android.google.cn/guide/topics/ui/shortcuts.html
6积暖、自動(dòng)填充框架--AutoFill framework
Android O 通過(guò)引入自動(dòng)填充框架,在用戶選擇接受自動(dòng)填充之后,新老應(yīng)用都可使用自動(dòng)填充框架怪与。這個(gè)功能對(duì)于經(jīng)常密碼登陸或獲取重復(fù)信息的應(yīng)用是個(gè)福音夺刑,對(duì)于老應(yīng)用來(lái)說(shuō),Android O將會(huì)幫助用戶進(jìn)行快速登錄琼梆,而不用每次都填寫(xiě)賬戶名和密碼性誉。當(dāng)用戶在使用一個(gè)新設(shè)備時(shí),可以從其他應(yīng)用中提取已經(jīng)保存的賬戶名和密碼茎杂,選擇之后错览,自動(dòng)填充功能便可以在本地進(jìn)行,適用于你可能用到的大多數(shù)應(yīng)用程序煌往。
開(kāi)發(fā)人員需要做的是對(duì)其應(yīng)用程序進(jìn)行優(yōu)化倾哺,讓其應(yīng)用程序能夠和自動(dòng)填充功能更好地兼容。
7刽脖、其它
除了以上比較突出的特性外羞海,Android O還增加了如下特性。
(1)曲管、字體的支持却邓。
應(yīng)用開(kāi)發(fā)人員可以自定義字體樣式。
(2)院水、WiFi感知功能腊徙。
WiFi感知可讓用戶的Android O設(shè)備或應(yīng)用通過(guò)Wi-Fi和附近的其他設(shè)備或應(yīng)用進(jìn)行通訊,無(wú)需實(shí)際的互聯(lián)網(wǎng)連接檬某。
(3)撬腾、設(shè)置菜單的調(diào)整。
設(shè)置菜單整體比Android N更加簡(jiǎn)潔恢恼。
(4)民傻、限制未知來(lái)源應(yīng)用功能。
在應(yīng)用權(quán)限設(shè)置的“特殊訪問(wèn)權(quán)限”中场斑,加入了“安裝其他應(yīng)用”的設(shè)置漓踢,這主要是為了防止應(yīng)用內(nèi)引導(dǎo)用戶安裝其他無(wú)關(guān)應(yīng)用,特別是針對(duì)一些流氓應(yīng)用會(huì)比較有效和簸。
(5)彭雾、Font資源XML。
Fonts格式在Android O上已經(jīng)完全支持了锁保。
(6)薯酝、WebView增強(qiáng)。
在Android O里,系統(tǒng)默認(rèn)開(kāi)啟了多進(jìn)程提供API來(lái)處理錯(cuò)誤和異常,增強(qiáng)了安全和穩(wěn)定性爽柒。
(7)吴菠、Java8語(yǔ)言API和運(yùn)行時(shí)(runtime)優(yōu)化。
增加支持了新的JavaAPI比如java.time API浩村。另外,Android Runtime在某些應(yīng)用基準(zhǔn)下提升了2x的運(yùn)行速度做葵。