編輯:Android開發教程
1.1 SurfaceFlinger
從這一小節開始,我們正式切入SurfaceFlinger的分析。為了保持講解的連貫性,部分內容可能在前面的章節中已經有所涉及了,接下來將會對其中的細節做更多的擴展講解。
內容組織如下:
l 首先介紹Android 4.1引入的新特性(Project Butter),理解這個項目是必要的,可以說SurfaceFlinger有很大一部分的內容就是圍繞它來的
l SurfaceFlinger的啟動過程及工作方式
l SurfaceFlinger與BufferQueue及應用程序間的關系
l SurfaceFlinger對VSYNC信號的處理過程(重點)
1.1.1 ProjectButter
直譯過來,就是“黃油計劃”,為什麼叫這個名字呢?這個Project的目的是為了改善用戶抱怨最多的Android幾大缺陷之一,即UI響應速度——Google希望這一新計劃可以讓Android系統擺脫UI交互上給人帶來的“滯後”感,而能像黃油一般“順滑”。Google在2012年的I/O大會上宣布了這一計劃,並在Android 4.1中正式搭載了實現機制。
Butter中有兩個重要的組成部分,即VSync和Triple Buffering。下面先分別介紹引入它們的原因。
喜歡玩游戲或者看電影的讀者可能遇到過這樣的情形:
某些游戲場面好像是幾個場景“拼湊”而成的
電影畫面不連貫,好像被“割裂”了
這樣子描述有點抽象,我們引用widipedia上的一張圖來看下實際的效果:
圖 11?20 Screen Tearing實例
引自http://en.wikipedia.org/wiki/File:Tearing_%28simulated%29.jpg
當執行某些正在處理的任務時,ProgressBar提供了一個可視化的反饋。例如,你在從web服務器下載數據 ,然後需要更新下載的狀態。在這種情況下,ProgressBar
1.背景android系統的系統截屏功能是google封裝起來的,也是大家都很想獲得的,經過一個多月的漫長研究,博主終於成功的在android新版本也就是4.3以上版本實
不得不承認,這是個高效率的時代!從刷機精靈微博了解到,上周五,Google發布了Android4.4的源碼,這不,剛過了一天,Nexus 4機型的4.4 ROM就已經率先
cocos2d-x 3.0發布有一段時間了,作為一個初學者,我一直覺得cocos2d-x很坑。每個比較大的版本變動,都會有不一樣的項目創建方式,每次的跨度都挺大&hell