Chinaunix首页 | 论坛 | 博客
  • 博客访问: 74080
  • 博文数量: 9
  • 博客积分: 176
  • 博客等级: 入伍新兵
  • 技术积分: 142
  • 用 户 组: 普通用户
  • 注册时间: 2010-10-29 09:52
文章分类

全部博文(9)

文章存档

2015年(3)

2012年(6)

我的朋友

分类: 嵌入式

2012-09-08 23:23:54

    最近一段时间一直在开发基于Android平台的一款专业图像处理软件,由于Android平台对应用程序的内存限制以及java的处理效率问题,需要用到NDK+Skia的方式来进行,采用Skia直接绘制屏幕要比用Java对象绘制屏幕少消耗至少一半的内存,其实在Android内部,仔细查看源代码的话,其实Android平台本身的图像引擎就是基于Skia 2D图像引擎的,但由于Skia 本身不是很稳定,所以Skia并没有被包含在NDK的发布包中。
    下面我说说在使用Skia引擎时的注意事项:
1、网上很多人建议静态编译,从我自己的经验来看,这种方法其实并不好,因为我们在项目中一般都会结合Java对象和NDK来使用Skia,静态编译可能会造成一些难以预料的问题。
2、关于Skia库libskia.so,可以直接从相关设备上提取,不过由于Skia库的不稳定性,版本依赖非常严重。 adb pull /system/lib/libskia.so 这样的命令就可以。
3、编译自己的动态库时,需要包含正确版本的Skia源文件,一定不能混用,比如用3.1版本的源文件来编译用于4.0版本的动态库,这样非常容易出问题。
4、在做Skia相关的应用时,一定要做好版本关联。可以使用git下载不同版本的Android的skia源文件。
5、skia的源文件在Android源代码/external/skia目录下。
阅读(12050) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~

嗯呵呵2015-03-30 18:19:09

mark +1 
那难道使用skia的应用要一个个不同版本的skia库写一遍???

gabriel10172015-03-09 16:04:27

mark