1.一种图片解码方法,其特征在于,所述方法包括:
获取图片,所述图片为新增图片格式的图片;
在安卓系统底层图像库Skia的解码器链表中查找用于解码所述图片的新增解码器,所述解码器链表中包含用于解码不同图片格式的解码器;
利用所述新增解码器对所述图片进行解码。
2.根据权利要求1所述的方法,其特征在于,所述获取图片之前,包括:
根据所述Skia中已有解码器的实现方式,创建所述新增解码器;
将所述新增解码器插入所述解码器链表中。
3.根据权利要求2所述的方法,其特征在于,所述Skia中定义有变量gHead,所述gHead是指向所述解码器链表头部的头指针;
所述将所述新增解码器插入所述解码器链表中,包括:
在本地native层声明所述gHead为外部变量;
通过所述gHead访问所述Skia的所述解码器链表;
将所述新增解码器插入所述解码器链表的头部。
4.根据权利要求3所述的方法,其特征在于,所述通过所述gHead访问所述Skia的所述解码器链表之后,还包括:
将所述新增解码器对应的动态链接库和所述解码器链表所在动态链接库进行链接。
5.根据权利要求3或4所述的方法,其特征在于,所述在Skia的解码器链表中查找用于解码所述图片的新增解码器,包括:
通过Java本地接口JNI调用所述native层;
通过所述native层声明的所述gHead访问所述Skia的所述解码器链表;
根据所述新增图片格式从所述解码器链表的头部获取所述新增解码器。
6.根据权利要求1至5任一所述的方法,其特征在于,所述利用所述新增解码器对所述图片进行解码,包括:
根据所述新增解码器创建解码器实例;
通过所述解码器实例对所述图片进行解码,得到所述图片的图片数据,所述图片数据用于构造位图Bitmap对象进行图像绘制。
7.一种图片解码装置,其特征在于,所述装置包括:
获取模块,用于获取图片,所述图片为新增图片格式的图片;
查找模块,用于在安卓系统底层图像库Skia的解码器链表中查找用于解码所述图片的新增解码器,所述解码器链表中包含用于解码不同图片格式的解码器;
解码模块,用于利用所述新增解码器对所述图片进行解码。
8.根据权利要求7所述的装置,其特征在于,所述装置,包括:
创建模块,被配置为根据所述Skia中已有解码器的实现方式,创建所述新增解码器;
插入模块,被配置为将所述新增解码器插入所述解码器链表中。
9.根据权利要求8所述的装置,其特征在于,所述Skia中定义有变量gHead,所述gHead是指向所述解码器链表头部的头指针;
所述插入模块,包括:
声明单元,用于在本地native层声明所述gHead为外部变量;
第一访问单元,用于通过所述gHead访问所述Skia的所述解码器链表;
插入单元,用于将所述新增解码器插入所述解码器链表的头部。
10.根据权利要求9所述的装置,其特征在于,所述插入模块,还包括:
链接单元,用于将所述新增解码器对应的动态链接库和所述解码器链表所在动态链接库进行链接。