作為一個菜鳥今天湊熱鬧參加了GDD,還是挺有意思的曲掰,知道了一些新的東西艇挨,體驗了Google好玩兒的產(chǎn)品会烙。
今天我主要參加的是Android的分會場负懦,當我在會場親身體驗的時候其實感覺也沒什么筒捺,會場間歇玩兒手機的時候柏腻,發(fā)現(xiàn)——額,GDD竟然是個這么大的新聞!
以下是我殘存的記憶能想到的內(nèi)容整理出來的系吭,但是不全五嫂!有好多代碼沒記下來,等到官方keynote和視頻出來后,我再仔細學習下:
Session1: Android中的新增功能
這部分其實在早先時候的預覽版里已經(jīng)出現(xiàn)了沃缘,并且現(xiàn)在這部分的文檔已經(jīng)完全漢化:官網(wǎng)文檔躯枢。
Android增強的通知
- 對于實時通信應用,可以直接在通知欄里對通知進行恢復(這點國內(nèi)好多廠商在5.0的系統(tǒng)上都做到了槐臀。比如锄蹂,錘子科技) 詳細參見官方文檔
快速設置
- “快速設置”就是直接從通知欄顯示關鍵設置,比如操作允許用戶在快速設置欄里添加用戶自定義的模塊(胡坤水慨,這個主題的分享者說:在Android7.1.1上可以添加App)得糜,進行快速啟動。(Android手機上下拉的通知欄里晰洒,添加用戶自定義的模塊朝抖,進行快速啟動,這塊國內(nèi)好多廠商已經(jīng)做了)谍珊。詳見API:quicksettings
低電耗模式的改進Doze:
- 在Android 6.0 上的低電耗模式治宣,當用戶設備未插接電源、處于靜止狀態(tài)且屏幕關閉時砌滞,該模式會推遲 CPU 和網(wǎng)絡活動侮邀。在7.0上,通過在設備未插接電源且屏幕關閉狀態(tài)下贝润、但不一定要處于靜止狀態(tài)(例如用戶外出時把手持式設備裝在口袋里)時可以使用部分 CPU 和網(wǎng)絡限制豌拙,進一步增強了低電耗模式。詳見官方文檔题暖,對低電耗模式和應用待機模式進行針對性優(yōu)化
后臺優(yōu)化:Svelte項目
- Android 7.0 移除了三項隱式廣播(CONNECTIVITY_ACTION 按傅、 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO ),以幫助優(yōu)化內(nèi)存使用和電量消耗胧卤。之前版本的 Android 中唯绍,應用可以注冊接收來自其他應用(例如相機)的隱式 ACTION_NEW_PICTURE 和 ACTION_NEW_VIDEO 廣播。當用戶使用相機應用拍攝照片時枝誊,這些應用即會被喚醒以處理廣播况芒。
為緩解這些問題7.0所帶來的優(yōu)化:
- 面向Android 7.0 開發(fā)的應用不會收到 CONNECTIVITY_ACTION 廣播,即使它們已有清單條目來請求接受這些事件的通知叶撒。在前臺運行的應用如果使用 BroadcastReceiver 請求接收通知绝骚,則仍可以在主線程中偵聽 CONNECTIVITY_CHANGE
- 應用無法發(fā)送或接收 ACTION_NEW_PICTURE 或 ACTION_NEW_VIDEO 廣播。此項優(yōu)化會影響所有應用祠够,而不僅僅是面向 Android 7.0 的應用压汪。
解決方案:
JobScheduler,詳見API文檔JobScheduler
應用快捷方式
類似于iPhone上的3D Touch 和 魅族手機上的3D Press古瓤。詳見官方文檔App Shortcuts
Display Size
在android手機的設置里有個字體大小的設置止剖,當你把字體調(diào)整為超大號后腺阳,你會發(fā)現(xiàn)一種非常詭異的現(xiàn)象:字體的UI布局不會變,字變大了穿香,顯得很詭異亭引;7.0有個顯示大小Display Size,可以讓布局跟著你的字體大小來改變皮获,不會顯得那么詭異焙蚓。
存儲管理意圖
app現(xiàn)在可以發(fā)一個ACTION_MANAGE_STORAGE的intent,將用戶帶入系統(tǒng)的“釋放空間”界面洒宝。例如主届,如果一個App當前沒有更多的空間可以使用了,它可以使用使用這個intent來讓用戶刪除不需要的App和內(nèi)容來釋放額外的存儲空間待德。
感想
Android7.0所帶來的變化君丁,其實在國內(nèi)不少廠商已經(jīng)早早都實現(xiàn)了,這一點國內(nèi)的廠商還是走在前列的将宪,為他們點個贊绘闷!
以上是Android會場的第一個分享,其實上面的分享文檔上都有较坛,查看更詳細的文檔請移步:
Session2: Android開發(fā)工具中的新增功能
Constraint Layout
約束性布局印蔗,是一個新玩意兒,詳情移步:Build a Responsive UI with ConstraintLayout
layout-inspector 布局分析器:
比如你看到一個好玩兒的App覺著布局不錯丑勤,可以用來分析它的布局华嘹。官方文檔:Layout Inspector
FireBase
最新版的Android Studio集成了FireBase,今天又一個專門的分會場來講解FireBase。官網(wǎng):FireBase
Lint
- Lint可以直接在編輯代碼的時候就提示出:可能存在的缺陷法竞;
- 之前在編譯完后會出現(xiàn)一大堆的警告??耙厚,現(xiàn)在可以將這些警告配置在一個單獨的文件里,在下一個編譯的時候岔霸,不在提示這些警告薛躬;
詳情異步,官方文檔:Improve Your Code with Lint
更快的instant run:
在Android Studio剛更新2.0的時候呆细,我發(fā)現(xiàn)真的是巨慢型宝,更新2.1后有所改善,據(jù)說instant run 變得更快了絮爷。當時聽了個稀里糊涂趴酣,說是用到了:hot swap ; warm swap ; cold swap。還有兩個啥技術來著坑夯,等keynote 岖寞,官方視頻出來后,我在好好學習一下渊涝。
詳情移步慎璧,官方文檔:instant-run
apk減肥之:PNG to WebP
同樣的清晰度床嫌,WebP要比PNG減少很大的體積跨释。
詳情參見:
- Webp 官方文檔:WebP
- apk 減肥(瘦身) 官方文檔: Reduce APK Size
以上是第二場分享胸私,我能記住的東西,等keynote和視頻出來后鳖谈,我再仔細學習一遍岁疼。
Session3: Android支持庫的新變化
- Fragments
Fragment生命周期的改善,F(xiàn)ragmentTransaction使用commitNow()函數(shù)缆娃,替代commit的效果捷绒。
- NotificationManagerCompat
改善的通知,調(diào)用getImportance()方法可以顯示用戶指定的重要通知贯要。
- 用來替換WebView的Custom Tabs:
前提設備上必須要有Chrome
- VectorDrawableCompat
- Night Mode
- ColorStateList
- BottomSheetDialogFragment
- AppBarLayout
- CollapsingToolbarLayout
- StateListAnimator
Support庫的東西挺多的暖侨,上面都是大會演講者分享的東西,大概記了一下崇渗。
詳情移步字逗,官方文檔:support-library
Session4: Android Wear2.0的新變化
Android的穿戴設備,這個時間段有兩場Android的分享一場在Angular會場的"Android開發(fā)中的電量和內(nèi)存優(yōu)化"宅广,我去了Angular會場葫掉,等官方視頻出來了,我再學習下這個會場的分享
Session5 :“哎呀跟狱!我的Android應用程序又崩潰了俭厚!”
設備兼容
不同廠商對于android的定制,會引起各種問題驶臊。不做兼容挪挤,也可能會造成app crash。
版本兼容
Android自身快速的迭代关翎,本身各個版本之間的兼容性問題电禀,也會造成App crash;
ProGuard
keep 防止資源誤刪除;
設備本身的功能
比如笤休,在調(diào)用相機的時候尖飞,需要檢查當前設備有相機。否則也會crash店雅,問題來了政基,現(xiàn)在還有沒有相機的設備嗎?這可能是那位老師提到的——神奇的印尼市場吧闹啦!
調(diào)用設備功能的時候沮明,要告訴App,我需要該設備<android: required = “true”>窍奋,并且檢查設備上是否有相應的功能荐健,such as: 相機酱畅、藍牙。
不要用非公開的API
Session6 :Android開發(fā)中的電量和內(nèi)存優(yōu)化
這部分內(nèi)容跟其他分享部分的內(nèi)容有重疊江场,提到了好幾個東西:Doze纺酸、App Standby、jobs址否、JobInfo餐蔬。
電池優(yōu)化
Doze、App Standby 官方文檔:對低電耗模式和應用待機模式進行針對性優(yōu)化
內(nèi)存優(yōu)化
在低內(nèi)存的設備上佑附,監(jiān)聽網(wǎng)絡狀態(tài)的變化樊诺,會引起明顯的內(nèi)存抖動,7.0去掉了CONNECTIVITY_CHANGE的廣播音同,替代解決方案:JobScheduler词爬。
電池診斷:
Session7:Vulkan——專為Android打造的高性能3D圖形API
一個白頭發(fā)的大叔分享的,只能在Android 7.0上用权均,并且對硬件設備要求較高顿膨,估計是為了VR做準備,想買新手機的要不再等等吧螺句!
官方文檔:Vulkan Graphics API
總結:
接下來重點學習一下: Constraint Layout 和 JobScheduler 看看這倆東西是怎么玩兒的虽惭!
參加這樣的大會,在會場內(nèi)我沒學到很多東西蛇尚,但我知道了很多我不知道的東西芽唇,我記下了我不知道的,然后Google他們取劫,然后學習他們??;
會后Google了一下匆笤,發(fā)現(xiàn)那些老師分享的東西其實在官網(wǎng)的文檔都有了,只不過是我不知道而已谱邪;
我一直很閉塞炮捧,走出來才發(fā)現(xiàn):喔噢,這么多開發(fā)者惦银,好多有意思的事兒咆课;
你看譬圣,跟著文檔走遮婶,然后“ it’s a good idea to get your hands dirty and try it for yourself”,那么你也是大神了浦马;
最后迅栅,重要的一點:午餐殊校、晚餐——我吃的很爽,對于我這樣的Low B读存,有吃的为流,還不收費呕屎,當然是放開吃啦!哈哈敬察!