Android系統(tǒng)每隔16ms重新繪制一次Activity吓妆,意思就是你的app必須在16ms內完成屏幕刷新的所有邏輯操作,這樣才可以達到60幀/s漠另。但是用戶一般看到的卡頓是由于Android渲染性能造成的探遵。
首先我們要了解Android的渲染機制,主要分為兩個組件:CPU和GPU僧家。
這兩者共同完成屏幕上的繪制。
Activity如何將復雜的UI轉換成用戶看得懂的圖像繪制到屏幕上呢裸删?
這些都是通過柵格化操作完成的八拱,所謂的柵格化操作就是繪制那些Button,Shape涯塔,Path肌稻,String,Bitmap等組件最基礎的操作伤塌。它們把這些組件拆分到不同的像素上進行顯示灯萍,簡單點講就是將那些復雜的XML布局文件和標記語言轧铁,轉化成用戶能看得懂的圖像每聪,但是這些不是直接轉化的,XML布局文件需要在CPU中首先轉化稱多邊形或者紋理齿风,然后再傳遞給GPU進行柵格化药薯,對于柵格化跟OpenGL有關,柵格化是一個特別費時的操作救斑。