Android图形系统的示例分析

Android图形系统的示例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

古城网站建设公司创新互联,古城网站设计制作,有大型网站制作公司丰富经验。已为古城千余家提供企业网站建设服务。企业网站搭建\成都外贸网站制作要多少钱,请找那个售后服务好的古城做网站的公司定做!

Android图形系统采用Client/Server架构。SurfaceFlinger主要由C++代码编写而成,Client端代码分为两部分。一部分是由Java提供的供应用使用的api,另一部分则是由C++写成的底层实现。

Android图形系统中一个重要的概念和线索是surface。View及其子类(如TextView, Button)要画在surface上。每个surface创建一个Canvas对象 (但属性时常改变),用来管理view在surface上的绘图操作,如画点画线。每个canvas对象对应一个bitmap,存储画在surface上的内容。

有几个对象与Surface概念紧密相关:

1. Java Surface (frameworks/base/core/java/android/view/Surface.java)。该对象被应用间接调用(通过SurfaceView, ViewRoot等), 应用需要创建surface,(并同时创建canvas), 将图形绘制到这个对象上并最终投递到屏幕上。

2. C++ Surface (frameworks/base/libs/ui/Surface.cpp。 这个对象被Java Surface通过Jni 调用,实现Java Surface 的功能。

3. ISurface (以及其派生类BnSurface)。这个对象是应用和server之间的接口。C++ Surface创建这个ISurface (BnSurface)并发送命令,如更新surface内容到屏幕上。Server端接受这个命令并执行相应操作。

android.graphics, android.view和android.widget功能和其他类似的图形库如Qt/Gtk+差不多,分别提供基本的图形原语(如画点画线,设置图形上下文等)。事件机制,以及开发图形用户界面的控件等。canvas 用于开发2D图形, Surface 代表一个可供图形系统绘制的surface。可在其上绘制Android图形。

与图形相关的代码主要位于下列目录:

1、frameworks/base/graphics/java/android/graphics  2、frameworks/base/core/java/android/view  3、frameworks/base/core/java/android/widget  4、frameworks/base/opengl/  5、frameworks/base/libs/ui  6、frameworks/base/libs/surfaceflinger  7、frameworks/base/core/jni/android/graphics  8、frameworks/base/core/jni/android/opengl  9、frameworks/base/core/jni/android/android_view_*.cpp  10、external/skia

看完上述内容,你们掌握Android图形系统的示例分析的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!

文章名称:Android图形系统的示例分析
本文地址:https://www.cdcxhl.com/article38/jjhpsp.html

成都网站建设公司_创新互联,为您提供企业网站制作外贸网站建设建站公司品牌网站制作微信公众号品牌网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都定制网站网页设计