自 Android Oreo 發(fā)布以來,我們陸續(xù)收到了開發(fā)者們提出的一些新系統(tǒng)相關(guān)問題。尤其在 1 月期間我們專門制作并上傳了 Oreo 新功能應(yīng)用的中文教學(xué)視頻,幫助大家更快掌握系統(tǒng)新特性。在眾多問題中我們篩選出以下十個比較有代表性的問題并作出相應(yīng)解答,希望可以幫助大家查漏補(bǔ)缺或鞏固已有知識技能。
Q 1:
手機(jī)耗電比較嚴(yán)重,Android對這方面有改進(jìn)嗎?
A:Android在后臺中運(yùn)行的服務(wù)會消耗設(shè)備資源,這可能降低用戶體驗(yàn)。為了緩解這一問題,Android O 系統(tǒng)對這些服務(wù)施加了一些限制。具體操作請參考 “【中文教學(xué)視頻】Android Oreo 中的后臺進(jìn)程”
Q 2:
我比較重視 Android 的安全性問題,那么在這方面 Android O 有什么新的改進(jìn)呢?
A:在 Android 8.0 之前,如果應(yīng)用在運(yùn)行時請求權(quán)限并且被授予該權(quán)限,系統(tǒng)會將屬于同一權(quán)限組并且在清單中注冊的其他權(quán)限也一起授予應(yīng)用。
對于針對 Android 8.0 的應(yīng)用,此行為已被糾正。系統(tǒng)只會授予應(yīng)用明確請求的權(quán)限。請注意,一旦用戶為應(yīng)用授予某個權(quán)限,則所有后續(xù)對該權(quán)限組中權(quán)限的請求都將被自動批準(zhǔn)。
Q 3:
Android O 的自適應(yīng)圖標(biāo)可以適應(yīng)不同的手機(jī)嗎?
A:是的。自適應(yīng)圖標(biāo)可以在不同的設(shè)備模型中顯示各種形狀。例如,自適應(yīng)啟動器圖標(biāo)可以在一個OEM設(shè)備上顯示圓形形狀,并在另一個設(shè)備上顯示一個圓角矩形,而開發(fā)者不需要進(jìn)行額外的任何工作。
Q 4:
我是 Android 初學(xué)者,不了解 Android O 之前的相關(guān)接口,我如何能在短時間內(nèi)明白 Android O 做了哪些改進(jìn)呢?
A:關(guān)于 Android 的歷史版本,可以參考 Android 開發(fā)者官方網(wǎng)站獲知具體信息(鏈接:https://developer.android.com/index.html)。?
Android 8.0 除了提供諸多新特性和功能外,還對系統(tǒng)和 API 行為做出了各種變更。重點(diǎn)介紹了您應(yīng)該了解并在開發(fā)應(yīng)用時加以考慮的一些主要變更(參考鏈接:https://developer.android.com/about/versions/oreo/android-8.0-changes.html)。
Q 5:
我是做移動支付的,自動填充框架對于我來說是一個很好的功能,有沒有能運(yùn)用到上面(移動支付方面)的?
A:自定義描述可幫助自動填充服務(wù)更清楚地說明正在保存的內(nèi)容;例如,當(dāng)屏幕包含信用卡時,它可以顯示信用卡銀行的標(biāo)志,信用卡號碼的最后四位數(shù)字和到期號碼。要了解更多信息,請參閱 CustomDescription 課程(鏈接:https://developer.android.com/reference/android/service/autofill/CustomDescription.html)。
Q 6:
我的 Android 虛擬機(jī)有非常多,默認(rèn)路徑是什么?
A:
Mac OS X 和 Linux:/ ~/.android/avd/name.avd
微軟 Windows XP:C:\Documents and Settings\user\.android\name.avd\
Windows Vista 和更高版本:C:\Users\user\.android\name.avd\
您可以通過兩種方式發(fā)現(xiàn)文件的位置:
從命令行啟動模擬器時,使用 -verbose 或 -debug init 選項(xiàng),并查看輸出;
使用該命令列出默認(rèn)目錄。例如:emulator -help-option
Q 7:
我想將我的虛擬機(jī)存在另一個路徑中,我該如何操作?
A:在命令行使用 -datadir dir 使用絕對路徑指定數(shù)據(jù)目錄。
例如:$ emulator @Nexus_5X_API_23 -datadir?~/.android/avd/Nexus_5X_API_23.avd/mytest
Q 8:
有關(guān)模擬機(jī)的相關(guān)命令行我在哪里可以看到?
A:Android SDK 包含一個 Android 設(shè)備模擬機(jī),是在您計(jì)算機(jī)上運(yùn)行的虛擬設(shè)備。 Android 模擬機(jī)可讓您在不使用物理設(shè)備的情況下開發(fā)和測試 Android 應(yīng)用程序。
有關(guān) Android 虛擬機(jī)命令行,請參考原文(鏈接:https://developer.android.com/studio/run/emulator-commandline.html#data-filedir)。
Q 9:
Android Support Library V26 什么時候可以用 SDKTool 下載到?
A:Android Support Library 不需要下載,在 gradle 的配置文件依賴即可。
Q 10:
Android O 在藍(lán)牙開發(fā)方面有沒有什么變化?
A:您好,是有變化的。Android 8.0 對?ScanRecord.getBytes()?函數(shù)檢索的數(shù)據(jù)長度做出以下變更:getBytes()?函數(shù)對于所接收的字節(jié)數(shù)不作任何假定。因此,應(yīng)用不應(yīng)受所返回的任何最小或最大字節(jié)數(shù)的影響。相反,應(yīng)用應(yīng)當(dāng)計(jì)算所返回?cái)?shù)組的長度;兼容藍(lán)牙 5 的設(shè)備返回的數(shù)據(jù)長度可能會超出之前最大約 60 個字節(jié)的限制;如果遠(yuǎn)程設(shè)備未提供掃描響應(yīng),則也可能返回少于 60 個字節(jié)的數(shù)據(jù)。
如果您仍然有關(guān)于系統(tǒng)及兼容性等問題,歡迎在我們本文評論區(qū)留言,我們會繼續(xù)收集有代表性的問題,請我們的工程師做出解答,并將答案盡量及時地回復(fù)給大家。同時,也請關(guān)注下一期的?“Android 開發(fā)者 FAQ”?專題文章,希望可以幫助您補(bǔ)充相關(guān)知識技能。