Android 開發(fā)者峰會 2019 常見問題解答

感謝大家關注 Android 開發(fā)者峰會 2019!在本次峰會內(nèi)容連載期間我們收到了不少來自大家的 Android 開發(fā)問題,由于篇幅所限這里精選一部分具有代表性的問題做出解答。

本次開發(fā)者峰會全部演講的中文字幕視頻已經(jīng)全部發(fā)布,覆蓋到了目前 Android 應用和游戲開發(fā)領域的主要課題。歡迎您前往我們的官方網(wǎng)站或播放列表頁面觀看。

Android 開發(fā)者峰會 2019 官方網(wǎng)站

https://developer.android.google.cn/dev-summit-recap

Bilibili 播放列表

https://space.bilibili.com/64169458/channel/detail?cid=91608

Q 1: Jetpack Compose 會給 Android 應用的架構(gòu)帶來哪些變化?

A: Jetpack Compose 設計的初衷是盡可能不影響大家使用架構(gòu)組件打造好的內(nèi)容,并在 UI 方面確保幫助開發(fā)者們高效打造符合架構(gòu)組件一貫高品質(zhì)的體驗。請查看開發(fā)者預覽版本,歡迎通過 Github 提交您的反饋!

開發(fā)者預覽版本

https://developer.android.google.cn/jetpack/compose

Github

https://github.com/android/compose-samples/tree/master/JetNews

Q 2: 有沒有可能脫離其他 Jetpack 庫單獨使用 CameraX?

A: CameraX 目前依賴 Jetpack Lifecycle,但并沒有依賴其他組件 (如 ViewModel 和 LiveData)。我們接下來會逐步在 CameraX 中引入更多針對 Jetpack 的兼容性功能。

Q 3: 接下來 Wear OS 會有怎樣的進展?

A: Google 很重視 Wear OS 以及合作伙伴生態(tài)系統(tǒng)的發(fā)展,許多合作伙伴也在不久前發(fā)布了全新的秋季手表產(chǎn)品陣容。在軟件方面,我們也在繼續(xù)投入資源打造更好的用戶體驗,比如磁貼交互,以及使用滑動操作進入全屏信息界面。這次開發(fā)者峰會上我們沒有面向開發(fā)者的新消息,但我們一直在思考如何為 Wear OS 帶來更多的兼容性。請大家繼續(xù)保持關注。

Q 4: Google 有沒有一些展示 Kotlin 協(xié)程和 Android 架構(gòu)組件的例子,比如使用 MVVM 模式?

A: 我們有不少這樣的例子。比如在 Github 上就有好幾個展示架構(gòu)組件以及 LiveData 的例子,并且有提供 Codelab。這些例子也在我們的 Udacity 課程和文章中有展示。

GitHub 上的示例

https://github.com/android/architecture-components-samples/tree/master/LiveDataSample

將 Kotlin 協(xié)程與架構(gòu)組件一起使用

https://developer.android.google.cn/topic/libraries/architecture/coroutines

Q 5: 我設置了一個 15 分鐘運行一次的循環(huán),其約束條件是需要可以訪問網(wǎng)絡。為什么在網(wǎng)絡一直可用的情況下,第二次運行 1 小時也沒有出現(xiàn)?

A: 在沒有提供更多細節(jié)的情況下很難判斷具體原因,可能是應用被設備強行結(jié)束,或者是約束條件由于某種原因并沒有得到滿足。

Q 6: 有沒有辦法修改 Android 模擬器默認的電話號碼和國家碼?

A: 目前沒有辦法修改。

Q 7: 請問 ViewPager2 的穩(wěn)定版大概會在何時可用?

A: ViewPager2 的穩(wěn)定版已在 2019 年 11 月上線啦!大家久等了。

https://developer.android.google.cn/jetpack/androidx/releases/viewpager2#1.0.0

Q 8: Kotlin 適合企業(yè)開發(fā)者來使用嗎?

A: Kotlin 并不僅限于 Android 開發(fā),事實上在后端、Web 乃至桌面上都有很豐富的用例和強大的支持。

Q 9: Android Studio 的速度有改善嗎?

A: 有。我們通過 Project Marble 等諸多環(huán)節(jié)的努力進一步提升了 Android Studio 在性能和穩(wěn)定性方面的表現(xiàn),包括但不限于 UI 卡頓、內(nèi)存消耗、增量注解處理速度等諸多指標。另外,我們也會針對開發(fā)者的開發(fā)環(huán)境和項目給出建議分配給 Studio 的內(nèi)存大小,從而進一步改善其性能表現(xiàn)。

Q 10: 隨著 Android Studio 的功能越來越復雜,有沒有計劃降低或者優(yōu)化其內(nèi)存需求?

A: 我們正在著手考慮這一點。

Q 11: 單一 Activity 或者多個 Activity,哪一種實現(xiàn)更優(yōu)?

A: 我們建議開發(fā)者采用單一 Activity,這樣能帶來更好的用戶體驗。如果開發(fā)者打算提供深鏈接,也可以考慮多 Activity。

Q 12: 為什么 Android 每年會推出一個版本?會不會太快了?

A: 圍繞我們的技術演進速度本就很快,更加上各種全新硬件的涌現(xiàn)、以及用戶體驗訴求的變遷,使得我們需要讓 Android 平臺和這些趨勢保持同步。但我們也在努力確保開發(fā)者能有充裕的時間跟上平臺演進的節(jié)奏,并會在盡可能早的時間點讓開發(fā)者參與到平臺演進的過程中來。

Q 13: Project Mainline 和 Project Treble 有什么區(qū)別?

A: 考慮到 FAQ 的篇幅,這里簡要概述一下。Project Treble 可以認為是 Android OS 和底層的硬件之間的一條線,這條線的存在可以確保 Android 設備開發(fā)商能更快、更平順地支持最新的 Android。而 Project Mainline 則可以理解為 Treble 上的一條條豎線,這些豎線組成了 OS,而通過 Project Mainline 我們可以做到在不發(fā)布完整 OS 的情況下更新操作系統(tǒng)組件。

Q 14: 我們何時可以在生產(chǎn)環(huán)境使用 CameraX?

A: CameraX 目前仍然在 Alpha 階段。我們建議開發(fā)者在生產(chǎn)環(huán)境至少使用 Beta 版本的庫,請大家關注 CameraX 的后續(xù)發(fā)布。

Q 15: 我現(xiàn)在在使用 Camera 1,我是該遷移至 Camera 2 還是 CameraX?我應該基于什么理由做出決策?

A: CameraX 的學習曲線比 Camera 2 更友好。但如果您打算實現(xiàn)更多自定義的或者完整的攝像頭功能,Camera 2 會提供更多靈活性。另外,針對 API 19 或以前的用戶,請使用 Camera 1,其他的用戶請使用 CameraX,因為 CameraX 可以覆蓋絕大多數(shù)用戶。

Q 16: CameraX 如何處理多個攝像頭的數(shù)據(jù)流?

A: 從 Android 9 開始我們引入了新的邏輯攝像頭 API,它會將多個物理攝像頭封裝成一個邏輯攝像頭供開發(fā)者使用。

Q 17: Compose 是否相比較 LiveData 數(shù)據(jù)綁定更優(yōu)?

A: 這是達到同一個目的的兩種做法,我們鼓勵大家做出自己的嘗試和選擇。

Q 18: 我對 Compose 很感興趣,我該從何學起?

A: 我們的開發(fā)者網(wǎng)站上開設了專區(qū),請務必前往查看。

Jetpack Compose

https://developer.android.google.cn/jetpack/compose

Github 上的示例

https://github.com/android/compose-samples/tree/master/JetNews

Q 19: Jetpack Compose 支持使用約束布局來構(gòu)建動態(tài) UI 嗎?

A: 我們正在努力加入對約束布局的支持。

Q 20: 在切換至深色模式時,是推薦使用深灰色背景還是純黑色背景?

A: 深灰色背景可以在省電的同時做到在視覺上更加柔和,請開發(fā)者結(jié)合自己的應用視覺效果進行嘗試。

Q 21: 在 Android 10 上如何獲取用戶的 IMEI?

A: 從 Android 10 開始,應用必須具有 READ_PRIVILEGED_PHONE_STATE 特許權限才能訪問設備的不可重置標識符 (包含 IMEI 和序列號)。其實許多使用場景都不需要不可重置的設備標識符。例如,如果您的應用將不可重置的設備標識符用于廣告跟蹤或用戶分析目的,請為這些特定使用場景使用 Android 廣告 ID。要了解詳情,請參閱唯一標識符的最佳做法。

唯一標識符最佳做法

https://developer.android.google.cn/training/articles/user-data-ids

再次感謝大家關注 Android 開發(fā)者峰會!

點擊進入 Android Dev Summit 中文官方網(wǎng)站

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,316評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,481評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,241評論 0 374
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,939評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,697評論 6 409
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,182評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,247評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,406評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,933評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,772評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,973評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,516評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,209評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,638評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,866評論 1 285
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,644評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,953評論 2 373

推薦閱讀更多精彩內(nèi)容