自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

談一談 Android L 的 API 變化

移動開發(fā) Android
每次Android新版的發(fā)布,Google都會發(fā)布一個API變更報(bào)告,概括出對比前一個版本增加、改變、移除的API等信息。

每次Android新版的發(fā)布,Google都會發(fā)布一個API變更報(bào)告,概括出對比前一個版本增加、改變、移除的API等信息。

無論如何,Android L 開發(fā)者預(yù)覽版差異報(bào)告已經(jīng)隨著javaDoc一起發(fā)布了,在(a poorly-structured ZIP archive)可以看到。我經(jīng)?;仡欉@份資料,想看看這和Google I/O上呈現(xiàn)出的有多大差別。Android L 其實(shí)有不少很有意義的改變。

注意:這份分析是基于Android L 的開發(fā)預(yù)覽版,也許在“L”發(fā)布之前很有可能這里說的一些東西會回到上一版本中,成為Android 5.0的一部分(而且叫什么名稱也還不知道)。還有,雖然本文只展示一些我們關(guān)心的領(lǐng)域,但是強(qiáng)烈建議讀者還是好好去看看實(shí)際發(fā)布的版本。

注意2:在Android上,“deprecated”(不推薦)指的是我們認(rèn)為還有更好的方案可以使用。這里不能保證以后一定會一直支持這個部分,但是至少現(xiàn)在還是可以使用的。

關(guān)于注意事項(xiàng),下面黑體字說明了版本變更情況:

  • Action Bar 導(dǎo)航:對于所有格式來說,都不建議使用了。這里就包括了Action Bar Tabs和下拉導(dǎo)航。我也在想如果限制了Action Bar tabs上面的各種操作的話,會怎么樣呢?

  • 還有部分理由是Action Bar在開發(fā)中已經(jīng)被另一種更容易操作的組件替代。Activity中有一個setActionBar()方法,需要一個Toolbar參數(shù)。 Toolbar就像一個簡化版的ActionBar一樣,可以放在視圖結(jié)構(gòu)的任何一個地方,相比只能鎖定在頂部的ActionBar來說好多了。

  • Activities也可以“持久化”,還可以跨過重啟。我想這點(diǎn)大概是為了對近期推出的一些功能的擴(kuò)展吧,而副作用就是需要對 onSaveInstanceState()方法有新的認(rèn)識,在Activity上我們需要操作Bundle和一個叫PersistableBundle 的東西,也許就是這個東西可以挽救系統(tǒng)重啟帶來的災(zāi)難。

  • 在ActivityManager中的getRecentTasks()和getRunningTasks()現(xiàn)在也不建議使用了,在Android L或者更高版本中會返回一個結(jié)果的子集。

  • BatterryManager現(xiàn)在可以直接獲取電量信息了,而不用為ACTION_BATTERY_CHANGED注冊一個null類型的receiver。

  • bindService()方法現(xiàn)在需要傳入一個明確的Intent對象,如果你的目標(biāo)sdk版本設(shè)置為L版本或者更高的話,建議使用隱式的Intent,以保證代碼可讀性,而如果你在服務(wù)中使用的話,要注意一下。據(jù)Alex Curran說,這會對IAP(in-ap pruchasing)的代碼集成有影響。

  • 現(xiàn)在我們可以使用getExternalMediaDirs()方法,和getExternalFileDirs()方法類似,但是此方法可以被MediaStore掃描到。

  • 在DevicePolicyManager中已經(jīng)加入了很多新的功能,可以更多地使用一些高級的API。

  • FragmentBreadCrumbs目前也不建議使用了。使用這個類的朋友們,為你們默哀。

  • 還有這里新加了一個啟動器,幫助更容易找到相關(guān)的應(yīng)用,不過這也和系統(tǒng)的配置有關(guān)(如果沒設(shè)置成默認(rèn)啟動器的話,那是不行的)。

  • MediaStore新增了MediaStore.Audio.Radio,它還沒有正式的文檔資料,所以對于流媒體廣播電臺,傳統(tǒng)的廣播電臺或者其它的來說,也會很不明確。

  • 在所有模式中,TOP_LEVEL_*這樣的模式已經(jīng)不建議使用了。也許這也反映出了頂級域名的數(shù)量也在不斷增加。

  • Android上現(xiàn)在有很多關(guān)于探測“省電模式”的一些工具,在PowerManager上使用isPowerSaveMode()方法再加上一個 ACTION_POWER_SAVE_MODE_CHANGED廣播就可以了。至于是否是在OEM直接納入還是在系統(tǒng)框架中集成,那我就不好說了。

  • 最開始要做的事,像“undeprecated”這樣的字眼,十分明確地指出了在設(shè)置時候出現(xiàn)INSTALL_NON_MARKET_APPS,由于安全問題,它已經(jīng)從設(shè)置選項(xiàng)中移回到了這里,變成全局的。

  • web設(shè)置現(xiàn)在可以控制內(nèi)容混合模式,可以控制webview是否從安全的來源中加載不安全的內(nèi)容。

最后,其實(shí)Android L 中還有很多變化,尤其是一些大的變更。但是我比較重視的就只有這些。如果讀者有興趣,請自行閱讀本文沒有提到的一些內(nèi)容。

責(zé)任編輯:閆佳明 來源: blog.jobbole
相關(guān)推薦

2021-02-19 09:19:11

消息隊(duì)列場景

2018-08-21 14:42:29

閃存存在問題

2021-07-28 20:12:17

WindowsHeap內(nèi)存

2022-02-14 22:22:30

單元測試Junit5

2022-07-04 10:51:27

數(shù)據(jù)中臺數(shù)據(jù)倉庫

2014-07-17 08:52:11

Android LAPI

2021-05-11 08:48:23

React Hooks前端

2021-11-23 09:45:26

架構(gòu)系統(tǒng)技術(shù)

2015-03-27 15:07:55

云計(jì)算IaaS平臺Docker

2017-11-21 14:32:05

容器持久存儲

2016-07-08 13:33:12

云計(jì)算

2021-03-15 22:42:25

NameNodeDataNode分布式

2011-07-28 09:22:56

Oracle WDPOracle數(shù)據(jù)庫

2019-01-30 10:59:48

IPv6Happy EyebaIPv4

2018-08-28 06:42:06

邊緣計(jì)算SDNMEC

2020-06-19 15:32:56

HashMap面試代碼

2019-11-12 08:40:03

RocketMQ架構(gòu)

2011-07-28 09:49:04

Oracle數(shù)據(jù)庫服務(wù)Oracle實(shí)例

2018-01-11 09:51:34

2018-09-05 15:15:58

來電顯示來電顯示欺詐身份
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號