每天一點(diǎn)小知識【5】— Android8.0新特性

Android 8.0對應(yīng)的API版本號為26,新系統(tǒng)取名為Android O,O代表是Oreo(奧利奧)。以下總結(jié)了Android8.0最新發(fā)布版本的較突出的一些新特性。

1、畫中畫模式-- PIP

在I/O2017上,谷歌演示了增強(qiáng)功能的畫中畫模式。例如用戶可以在打電話時(shí)觀看電影,支持將電影屏幕縮小成懸浮窗口,在看電影的同時(shí)也可以進(jìn)行查看日歷、搜索信息等其他工作,這比普通的畫中畫分屏模式功能更強(qiáng)大。這一功能的喚醒只需要輕輕點(diǎn)擊Home鍵按鈕,如果想結(jié)束這一模式,可以將小窗口滑下來以終止。

2、通知--Notification

在 Android O 中重新設(shè)計(jì)了通知,可以很方便的為管理通知行為和設(shè)置提供更輕松和更統(tǒng)一的方式。

這些變更包括

通知渠道:Android O 引入了通知渠道的概念,其允許用戶為要顯示的每種通知類型創(chuàng)建可自定義的渠道,借助渠道,開發(fā)者可以讓用戶對不同種類的通知進(jìn)行精細(xì)控制,用戶可以單獨(dú)攔截或更改每個(gè)渠道的行為,而不是統(tǒng)一管理應(yīng)用的所有通知。

通知標(biāo)志:Android O 引入了對在應(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() 來設(shè)置要顯示的文本。

通知清除:系統(tǒng)現(xiàn)在可區(qū)分通知是由用戶清除,還是由應(yīng)用移除。

背景顏色:您現(xiàn)在可以設(shè)置和啟用通知的背景顏色。

3、后臺執(zhí)行限制 -- Background execution Limits 和 后臺定位限制 -- background location limits

谷歌一直在優(yōu)化安卓Android的后臺應(yīng)用限制策略,以最大程度減小后臺應(yīng)用對電池的消耗和對資源的占用。

Background execution Limits主要有下面兩個(gè)方面:

(1)、對Background?Service 的限制

當(dāng)一個(gè)應(yīng)用程序在前臺的時(shí)候,可以自由運(yùn)行Foreground 和Background service。但是當(dāng)應(yīng)用程序切換到后臺的時(shí)候,在開始幾分鐘所有的services都可以正常使用,過幾分鐘后,系統(tǒng)將會停止所有的Background service,就好比調(diào)用了Service.stopSelf( ) 。

在Android O之前,創(chuàng)建一個(gè)Foreground Service的方式通常是先創(chuàng)建一個(gè)Background Service的方式,再通過startForeground()的方式變?yōu)榍芭_。但是在Android O中,如果應(yīng)用程序運(yùn)行在后臺,那么即不能查創(chuàng)建Background Service,同時(shí)也就不能創(chuàng)建Foreground Servicele了。

(2)、對Broadcast 的限制

如果一個(gè)應(yīng)用創(chuàng)建了一個(gè)廣播接收器,每當(dāng)這個(gè)receiver收到廣播的時(shí)候,都會消耗系統(tǒng)資源。如果太多應(yīng)用注冊了某個(gè)系統(tǒng)事件的receiver,一個(gè)系統(tǒng)事件將會喚起所有的receiver,造成同時(shí)大量的系統(tǒng)資源被消耗,從而影響用戶體驗(yàn)。為了解決這個(gè)問題,在Android N中添加了對廣播的限制,在Android O這些限制更加嚴(yán)格了。

background location limits

主要是增加了對定位服務(wù),位置更新服務(wù)的限制。進(jìn)一步信息可以參考官方鏈接:

https://developer.android.com/preview/features/background-location-limits.html

4、自適應(yīng)圖標(biāo) -- Adaptive Icons

Android 的屏幕適配一直以來開發(fā)者不得不面對的難題。為了幫助開發(fā)者更好的在設(shè)備 UI上進(jìn)行集成,Android O 開始支持創(chuàng)建自適應(yīng)圖標(biāo),系統(tǒng)可以基于設(shè)備選擇的蒙版將這些圖標(biāo)顯示為不同形狀。

如果開發(fā)者默認(rèn)在應(yīng)用程序圖示中使用了圓角正方形,那么應(yīng)用程序的圖標(biāo)都將是這個(gè)形狀,將不會出現(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 更小的快捷方式,放置于桌面上,用于更快速的打開某一 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 通過引入自動(dòng)填充框架,在用戶選擇接受自動(dòng)填充之后,新老應(yīng)用都可使用自動(dòng)填充框架。這個(gè)功能對于經(jīng)常密碼登陸或獲取重復(fù)信息的應(yīng)用是個(gè)福音,對于老應(yīng)用來說,Android O將會幫助用戶進(jìn)行快速登錄,而不用每次都填寫賬戶名和密碼。當(dāng)用戶在使用一個(gè)新設(shè)備時(shí),可以從其他應(yīng)用中提取已經(jīng)保存的賬戶名和密碼,選擇之后,自動(dòng)填充功能便可以在本地進(jìn)行,適用于你可能用到的大多數(shù)應(yīng)用程序。

開發(fā)人員需要做的是對其應(yīng)用程序進(jìn)行優(yōu)化,讓其應(yīng)用程序能夠和自動(dòng)填充功能更好地兼容。

7、其它

除了以上比較突出的特性外,Android O還增加了如下特性。

(1)、字體的支持。

應(yīng)用開發(fā)人員可以自定義字體樣式。

(2)、WiFi感知功能。

WiFi感知可讓用戶的Android O設(shè)備或應(yīng)用通過Wi-Fi和附近的其他設(shè)備或應(yīng)用進(jìn)行通訊,無需實(shí)際的互聯(lián)網(wǎng)連接。

(3)、設(shè)置菜單的調(diào)整。

設(shè)置菜單整體比Android N更加簡潔。

(4)、限制未知來源應(yīng)用功能。

在應(yīng)用權(quán)限設(shè)置的“特殊訪問權(quán)限”中,加入了“安裝其他應(yīng)用”的設(shè)置,這主要是為了防止應(yīng)用內(nèi)引導(dǎo)用戶安裝其他無關(guān)應(yīng)用,特別是針對一些流氓應(yīng)用會比較有效。

(5)、Font資源XML。

Fonts格式在Android O上已經(jīng)完全支持了。

(6)、WebView增強(qiáng)。

在Android O里,系統(tǒng)默認(rèn)開啟了多進(jìn)程提供API來處理錯(cuò)誤和異常,增強(qiáng)了安全和穩(wěn)定性。

(7)、Java8語言API和運(yùn)行時(shí)(runtime)優(yōu)化。

增加支持了新的JavaAPI比如java.time API。另外,Android Runtime在某些應(yīng)用基準(zhǔn)下提升了2x的運(yùn)行速度。


歡迎您掃一掃上面的微信公眾號,訂閱我的個(gè)人公眾號!?本公眾號將以推送Android各種碎片化小知識或小技巧,以及整理Android面試知識點(diǎn)為主,也會不定期將開發(fā)老司機(jī)日常工作中踩過的坑,平時(shí)自學(xué)的一些知識總結(jié)出來進(jìn)行分享。每天一點(diǎn)干貨小知識把你的碎片時(shí)間充分利用起來。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容