天天看點

Android圖形顯示系統——一張圖檔的顯示流程Android裝置上一張圖檔的顯示過程

假如我們現在有一張這樣的風景照

Android圖形顯示系統——一張圖檔的顯示流程Android裝置上一張圖檔的顯示過程

想在android裝置(比如一個小米pad)上顯示出來。首先想到的是寫一個應用,用一個imageview,把這張照片附到imageview上顯示,如下面的demo。

Android圖形顯示系統——一張圖檔的顯示流程Android裝置上一張圖檔的顯示過程

mainactivity.java

activity_main.xml:

這個demo的顯示效果是這樣的:

Android圖形顯示系統——一張圖檔的顯示流程Android裝置上一張圖檔的顯示過程

其過程是這樣的

Android圖形顯示系統——一張圖檔的顯示流程Android裝置上一張圖檔的顯示過程

整個過程可分為三步:

第一步,得到位圖(bitmap)的記憶體資料,即從相應的圖檔檔案解碼,得到資料放并放到記憶體。

第二步,使用某種2d引擎,将位圖記憶體按一定方式,渲染到可用于顯示的圖形記憶體(graphicbuffer)上。

第三步,由一個中心顯示控制器(surfaceflinger),将相應的圖形記憶體投放到顯示屏(lcd)。

1、找到合适的圖檔檔案

當把風景圖檔放在drawable目錄時,android系統中會根據裝置的分辨率,去相應分辨率的目錄選擇圖檔檔案。

繼續閱讀