天天看点

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系统中会根据设备的分辨率,去相应分辨率的目录选择图片文件。

继续阅读