不积跬步无以至千里
bug描述:点开图库应用,选择照片,长按照片实现选中效果,直接crash
通过log查看显示调用BitmapFactory.decodeResource 返回的是空指针
调用代码(UploadedTexture.java)如下图:
这里是当你选中照片时,之前的bitmap已经被释放,重新获取bitmap,则调用了onGetBitmap方法,这个是抽象方法,然后他的实现方法在这个类的子类中,
ResourceTexture.java 如下图:
如图所示,这里是实现方法onGetBitmap,这里通过BitmapFactory.decodeResource方法产生bitmap对象,其中有三个参数,第一个是资源对象,第二个是这个bitmap对应的图片的id,第三个是上边options对bitmap的配置。其实开始我就猜测是这三个参数为空导致的返回为空,结果打印log显示都不为空,后来得知这是因为这里的图片引用的是矢量图vetor,由于版本的原因,bitmapfactory转矢量图会出现问题,因此改善了一下,如下图:
这样就可以了。