秋高氣爽,創(chuàng)想時(shí)空。筆者參加在798 D-park召開(kāi)#谷歌創(chuàng)想時(shí)空#。感覺(jué)不錯(cuò),分享一下所見(jiàn)所聞所得。
現(xiàn)場(chǎng)篇 :
當(dāng)天一大早就趕到會(huì)場(chǎng)。果然是google創(chuàng)想時(shí)空,簽到處就彌漫著創(chuàng)意,墻壁天花板布滿google創(chuàng)意logo,琳瑯滿目,瞬間讓你進(jìn)入遐想。前臺(tái)一排美女,笑語(yǔ)相迎。不信,有圖,有真相。
簽完到,進(jìn)入主會(huì)場(chǎng),首先是g+社區(qū)體驗(yàn),用google的彩帶環(huán)繞立體,下面是各色美食。用戶(hù)體驗(yàn)就是好,讓沒(méi)吃早餐的攻城獅們情何以堪。
會(huì)場(chǎng)的分布,是根據(jù)google的幾個(gè)業(yè)務(wù)線劃分。
最吸引眼球的是:
以為是google的無(wú)人駕駛技術(shù)呢,其實(shí)是展示googleMaps的街景技術(shù)。還別說(shuō),坐上車(chē),馳騁在巴黎城,好是浪漫。不由感慨,這些數(shù)據(jù),得花多少銀子呀。
隨后,來(lái)到y(tǒng)outube展區(qū)。展區(qū)的MM,介紹youtube不單單是視頻,而且能夠和用戶(hù)互動(dòng),有情感化的交換,讓用戶(hù)join進(jìn)去。
Chrome 展區(qū),體現(xiàn)了各終端下Chrome,對(duì)HTML5支持體驗(yàn)。同時(shí)看到了Chrome本本,體驗(yàn)一下真正的上網(wǎng)本,感覺(jué)不太適應(yīng),想想一臺(tái)電腦,只有瀏覽器,啥感覺(jué)?
下一個(gè),Google Search 就不多說(shuō)了,傳統(tǒng)強(qiáng)項(xiàng)。
來(lái)到g+ 中間可以體驗(yàn)g+社區(qū)的服務(wù),值得一提的是, hangout,可以多人視頻會(huì)議,參與你感興趣的話題,充滿開(kāi)放、分享。有點(diǎn)像 OpenPatry online版。
還有一個(gè)展區(qū)(Google Art Project),讓人瞠目結(jié)舌:把全世界著名博物館、美術(shù)館的名畫(huà)以70億像素的高清晰度呈現(xiàn)于互聯(lián)網(wǎng)。感興趣可以體驗(yàn)一下 http://www.googleartproject.com/ 。能看到油畫(huà)中油彩縫隙下畫(huà)布的紋理。
其他展區(qū)就不一一細(xì)說(shuō)了。還是上干貨吧。
技術(shù)篇:
主要是一個(gè)主會(huì)場(chǎng),兩個(gè)分會(huì)場(chǎng)。
主會(huì)場(chǎng):主要是講了一些google IO大會(huì)情況,新技術(shù)動(dòng)向,比如可穿戴設(shè)備、智能家電等。Chrome對(duì)HTML5支持,以及html5本身研究。Android平臺(tái)技術(shù)、android 4.1的新特性。google對(duì)開(kāi)發(fā)者的重視,有很多通道可以直接和專(zhuān)家對(duì)話:1、 android 官網(wǎng)獲取android的動(dòng)態(tài)、2、youtube dev頻道最新技術(shù)的教學(xué)視頻3、google+的groups 世界級(jí)開(kāi)發(fā)者社區(qū)4、G+ Hangout On air 和專(zhuān)家對(duì)話。貌似很多通道都被墻掉了。旁邊一個(gè)哥們說(shuō):“好服務(wù)都被和諧掉了,能和諧嗎?”。Google也知道,國(guó)內(nèi)開(kāi)發(fā)者需要才能參與進(jìn)去,特意為國(guó)內(nèi)準(zhǔn)備了 http://www.chinagdg.com/ (不用翻,筆者逛了逛,論壇剛剛起步,沒(méi)啥內(nèi)容)。請(qǐng)發(fā)郵件到freeget.one@gmail.com獲得翻強(qiáng)軟件。
分會(huì)場(chǎng)二:介紹android技術(shù)。
主講人是負(fù)責(zé)google Play的香港帥哥,國(guó)語(yǔ)一般,但是干貨不少。主要是講了android現(xiàn)狀和趨勢(shì),android4.1新特性、android 產(chǎn)品設(shè)計(jì)、android 應(yīng)用在官方market的推廣。
結(jié)合當(dāng)天的講座筆記和官網(wǎng)4.1文檔,其他對(duì)4.1的介紹的文章。整理了一下4.1的新特性:
1、 使用界面觸摸反應(yīng)更靈敏、更快,更順暢:
- 提供一個(gè)輕松,直觀的用戶(hù)界面。
- 最佳性能和最低的觸摸延遲:4.1 把Vsync計(jì)時(shí)擴(kuò)展到所有的圖紙和動(dòng)畫(huà)顯示。一切運(yùn)行都保持與 16毫秒Vsync心跳 步調(diào)一致,包括應(yīng)用的渲染、觸摸事件、畫(huà)面構(gòu)圖、顯示刷新等,所以界面的幀不會(huì)被延遲或超過(guò)屏幕刷新率而造成”拖影”或 斷開(kāi)現(xiàn)象 (Tear)。
- 4.1版本為圖像加速增加了 三重緩沖(Triple Buffering) ,使圖像的渲染更加一致,使頁(yè)面的滾動(dòng)、換頁(yè)、及動(dòng)畫(huà)等感覺(jué)更加順暢。
- VSYNC計(jì)時(shí)被擴(kuò)展到所有的圖紙和動(dòng)畫(huà)顯示。
具體如下:(參見(jiàn)http://www.androidpolice.com/2012/07/12/getting-to-know-android-4-1-part-3-project-butter-how-it-works-and-what-it-added/)
(1)VSync的作用
上面是一張沒(méi)有Vsync控制的畫(huà)圖過(guò)程:當(dāng)frame0在屏幕上顯示時(shí),frame1先在CPU里準(zhǔn)備,再在GPU中render到顯示內(nèi)存,最后在下一個(gè)VSYN來(lái)到時(shí),把frame1切換到屏幕。由于在Android4.1(JellyBean)之前,所有的繪制畫(huà)圖都是以一種“自由的,松散的”的方式調(diào)用,這樣開(kāi)始調(diào)用畫(huà)圖的時(shí)間不定(就是調(diào)用View::onDraw()的時(shí)間不定),所以當(dāng)系統(tǒng)負(fù)荷很重時(shí),frame2的onDraw()方法可能很晚才調(diào)用,在VSyn信號(hào)來(lái)時(shí),F(xiàn)rame2還沒(méi)有準(zhǔn)備好,顯示只好在顯示frame1了。造成畫(huà)面停頓。
引入VSYN就是解決這個(gè)問(wèn)題。其實(shí)顯示系統(tǒng)一直是用Vsync來(lái)切換圖像的,只有在VSync信號(hào)下,顯示內(nèi)存的圖像才會(huì)切換到屏幕。在JellyBean中,VSYNC被引入到上層的View繪圖。View::onDraw()保證在VSync來(lái)到時(shí)被調(diào)用。示意圖如下:
這樣View::onDraw()保證在VSync信號(hào)到達(dá)時(shí)調(diào)用,避免的延遲。
其實(shí)用VSync只解決了View::onDraw()延時(shí)調(diào)用的問(wèn)題。如果CPU或GPU畫(huà)圖的時(shí)間超過(guò)16ms(兩個(gè)VSync信號(hào)的間隔),那一樣會(huì)使兩個(gè)連續(xù)的VSync顯示一個(gè)frame,造成畫(huà)面停頓。
如上圖,GPU處理frameB的時(shí)間過(guò)長(zhǎng),導(dǎo)致VSync來(lái)到時(shí),frameB沒(méi)有render完成。
(2)Tipple Buffer的示意
三緩沖(Tripple buffer)的機(jī)制就是解決這個(gè)問(wèn)題。
引入BufferC。新的VSync來(lái)到時(shí),并且bufferB還在使用時(shí),新的bufferC被引入。畫(huà)圖在新的bufferC中進(jìn)行,BufferB被拖后到第三幀顯示,整個(gè)UI顯示時(shí)間被拖后一幀。但每一幀都按一定的順序一定的時(shí)間片顯示。這就是tripple buffer的原理。
2、可擴(kuò)展的通知顯示(Notifications):
- 4.1版本為通知框架帶來(lái)了重大的更新。應(yīng)用程序現(xiàn)在可以通過(guò)用戶(hù)的捏、刷的動(dòng)作,擴(kuò)展或縮減通知信息顯示元素。
- 通知顯示支持新類(lèi)型的內(nèi)容、如照片。用戶(hù)可以設(shè)置的顯示的優(yōu)先權(quán),還可以包括多個(gè)動(dòng)作。
- 應(yīng)用可以在通知顯示下加入新的三項(xiàng)行動(dòng)的選擇,讓用戶(hù)可以不用進(jìn)入發(fā)通知的應(yīng)用、直接回應(yīng)通知信息。比如選擇通過(guò)電子郵件或電話的方式回復(fù)。
- 由展示空間最大64dp 擴(kuò)展到256dp哦
3、 進(jìn)一步增強(qiáng)的無(wú)障礙使用功能:
- 新的API讓開(kāi)發(fā)者加入處理手勢(shì)動(dòng)作,管理與無(wú)障礙使用功能相關(guān)輔助對(duì)焦(Accessibility Focus)
- 一套新的API,讓開(kāi)發(fā)者為用戶(hù)提供無(wú)障礙使用功能:通過(guò)屏幕上的內(nèi)容和導(dǎo)航按鈕,使用輔助手勢(shì)、配件和其它輸入方便使用手機(jī)。
- 新的對(duì)講系統(tǒng),以及重新設(shè)計(jì)的通過(guò)觸摸進(jìn)行使用方法探索的功能,讓開(kāi)發(fā)者加入新的無(wú)障礙使用功能
4、 雙向文字和其他語(yǔ)言的支持:
- 4.1版本加入了在TextView和EditText元素上顯示雙向文字的支持,讓你開(kāi)發(fā)面向世界范圍內(nèi)更多用戶(hù)的應(yīng)用和游戲。
- 應(yīng)用程序可以在文字顯示或文字編輯處理上顯示從左到右或從右到左的腳本。
- 應(yīng)用和游戲現(xiàn)在可以方便地使用新的阿拉伯語(yǔ)和希伯來(lái)語(yǔ)的語(yǔ)言環(huán)境和相關(guān)字體、新的日語(yǔ)字體
- 沒(méi)有專(zhuān)門(mén)的粗字形的字體,可以采用合成粗體(Synthetic Bold)。
5、 可調(diào)整大小的應(yīng)用程序小部件
- 4.1版本加入了可調(diào)整大小的應(yīng)用程序小部件: App Widgets的顯示大小可以根據(jù)用戶(hù)放在主屏幕上位置、用戶(hù)手控的大小、以及主屏幕上的空間來(lái)決定。
- 新的應(yīng)用程序API讓你利用這個(gè)部件大小的變化來(lái),充分優(yōu)化你的應(yīng)用程序部件的內(nèi)容。當(dāng)部件的大小變化時(shí),系統(tǒng)會(huì)通知應(yīng)用程序,可以重新調(diào)入widget的顯示資源。
- 開(kāi)發(fā)者完全控制Widget的尺寸
6、 與游戲開(kāi)發(fā)有關(guān)的新功能:
- 游戲可以通過(guò)API得到被添加或刪除的外接設(shè)備信息,比如新接上的鍵盤(pán)或操縱桿
- 游戲可以利用Vibrator Service來(lái)控制游戲操縱桿震動(dòng)
- 圖像和動(dòng)畫(huà)
- 新的編導(dǎo)類(lèi)(Choreographer class)讓游戲利用VSync計(jì)時(shí), 請(qǐng)求對(duì)下一個(gè)VSync框架:是個(gè)安排動(dòng)畫(huà)的有效方式
- 新的動(dòng)畫(huà)功能和過(guò)渡類(lèi)型
- 動(dòng)畫(huà)框架讓開(kāi)發(fā)者設(shè)定動(dòng)畫(huà)運(yùn)行的開(kāi)始和結(jié)束點(diǎn),幫助一個(gè)動(dòng)畫(huà)與其他動(dòng)畫(huà)或應(yīng)用程序進(jìn)行同步
- 新的ViewPropertyAnimator讓開(kāi)發(fā)者在動(dòng)畫(huà)過(guò)程中使用層面(Layer)
7、 新的多媒體功能
- 4.1新版本提供了訪問(wèn)設(shè)備硬件的底層媒體解碼器(Media Codec),查詢(xún)和發(fā)現(xiàn)設(shè)備上的媒體編解碼器
- 支持USB音頻輸出,讓硬件廠商開(kāi)發(fā)與Android接口的音頻碼頭(audio docks)等硬件設(shè)備
- 4.1支持多聲道音頻設(shè)備:通過(guò)HDMI端口上的硬件輸出多聲道音頻,讓游戲?yàn)橛脩?hù)提供更豐富的媒體體驗(yàn)
- 4.1新版本還增加了對(duì)AAC 5.1編碼/解碼音頻的支持
- 效果音頻處理:讓錄音質(zhì)量通過(guò)噪聲抑制、回聲消除等手段改善音質(zhì)
- 新的媒體路由器(Media Router) 開(kāi)發(fā)接口提供有線耳機(jī),A2DP藍(lán)牙耳機(jī)和揚(yáng)聲器等使用控制界面
8、 其它重要的新功能:
- Renderscript的功能進(jìn)一步提高
- Renderscript腳本代碼中可以設(shè)定浮點(diǎn)運(yùn)算精確度,這可以讓開(kāi)發(fā)者使用NEON指令進(jìn)行快速的矢量數(shù)學(xué)運(yùn)算
- 在x86的模擬器和硬件上可以調(diào)試Renderscript計(jì)算腳本
- Android瀏覽器和WebView功能的更新和增強(qiáng)
- 更好的HTML5視頻的用戶(hù)體驗(yàn),包括touch-to-play/pause、從網(wǎng)頁(yè)局部到全屏顯示的平穩(wěn)過(guò)渡
- 網(wǎng)頁(yè)顯示的滾動(dòng)和縮放性能提高了渲染速度和減少了內(nèi)存使用而更加流暢
- HTML5里的CSS3和Canvas功能、以及動(dòng)畫(huà)的速度性能進(jìn)一步提高
- JavaScript Engine (V8) 的速度性能進(jìn)一步得到提高
參考及擴(kuò)展閱讀:
1、 http://developer.android.com/about/versions/jelly-bean.html
2、 http://blog.csdn.net/aaa2832/article/details/7716471
其他零碎筆記 :
1、 google最新數(shù)據(jù):android 設(shè)備 超過(guò) 5億+,每天100萬(wàn)+的激活量。Android應(yīng)用在132國(guó)家有收費(fèi)應(yīng)用,并且收費(fèi)國(guó)家中92%城市都有下載收費(fèi)應(yīng)用的用戶(hù)。
2、 AIDE是一個(gè)Android Java集成開(kāi)發(fā)環(huán)境(IDE),可以通過(guò)安裝使用AIDE,開(kāi)發(fā)者可直接在Android系統(tǒng)內(nèi)進(jìn)行Android軟件及游戲等應(yīng)用的開(kāi)發(fā)。它不僅僅是一個(gè)編輯器,更支持“編寫(xiě)-編譯-調(diào)試運(yùn)行”整個(gè)周期。
3、 Google 官方Market 怎么樣自己應(yīng)用容易被搜索到。在應(yīng)用的介紹(spam) 增加流行關(guān)鍵字,容易被搜索到。類(lèi)似SEO。官方審核的拒絕郵件,一定認(rèn)真對(duì)待,有些分析的地方都是和商量的,如果你不理不猜,再次犯錯(cuò)時(shí),有可能終身禁賽。不過(guò)公司大小、背景如何。
4、Android 4.1 SDK中提供一個(gè)新的名為systrace的工具,能夠從Kernel到系統(tǒng)層對(duì)App進(jìn)行性能優(yōu)化。此外,還為開(kāi)發(fā)者提供了多種除錯(cuò)及調(diào)校功能,例如視窗圖層更新、GPU圖形處理等。App更新也更加智能,可以?xún)H更新APK有修改的部分,而非像以往那樣必須完整下載新版應(yīng)用程序,如此一來(lái),能夠節(jié)省2/3的下載流量
5、android design,建議純android程序,多用action Bar、區(qū)分 up 和back鍵的區(qū)別 、每個(gè)應(yīng)用頁(yè)面左右邊框28dp。
參考:http://developer.android.com/design/index.html
http://design.eoeandroid.com/
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
