Closed xty1992a closed 2 years ago
如题
看了源码,因为clone时new了一个新的bitmap,同时用当前bitmap的img的链接传入,却没有传递onLoad
换句话说就是clone实际实现是异步的,当外部预设它是同步运行时,如果这个新的bitmap加载图片不够快,就会导致图片丢失。
苹果设备可能图片缓存策略做得好,基本没有出现,部分安卓就非常容易出现
class BitMap{ constructor (img, onLoad) { } clone () { // 复制完img宽度0??所以直接传字符串 (<--源码注释) const bitmap = new Bitmap(typeof this.img === 'string' ? this.img : this.img.src) // 其他赋值操作... return bitmap } }
如题
看了源码,因为clone时new了一个新的bitmap,同时用当前bitmap的img的链接传入,却没有传递onLoad
换句话说就是clone实际实现是异步的,当外部预设它是同步运行时,如果这个新的bitmap加载图片不够快,就会导致图片丢失。
苹果设备可能图片缓存策略做得好,基本没有出现,部分安卓就非常容易出现