fluwx
fluwx copied to clipboard
shareWebPage 分享到微信,某些图片会导致ios 没问题,Android 没反应
Describe the bug 调用分享网页链接到微信,自定义封面的图有几率会在 Android 上无法分享,但是换一张图就正常了。
有问题的图是(只是其中之一,不止这一张)
https://img.foresightnews.pro/202206/7-1654835282791.png
在 ios 里可以正常分享,Android 会直接没反应,也没用任何日志反馈,应该还没到微信处理那一层
To Reproduce
Which version of Fluwx do you use? 3.8.3
Which device do you run on android12 ,Harmony OS 2.0
Which Flutter do you use?
Flutter (Channel stable, 3.0.2)
估计是尺寸问题,他android端处理压缩图的算法有点问题,会导致死循环
private fun createScaledBitmapWithRatio(
bitmap: Bitmap,
maxLength: Int,
recycle: Boolean
): Bitmap? {
var result = bitmap
while (true) {
val ratio = maxLength.toDouble() / result.byteCount
val width = result.width * sqrt(ratio)
val height = result.height * sqrt(ratio)
val tmp = Bitmap.createScaledBitmap(result, width.toInt(), height.toInt(), true)
if (result != bitmap) {
result.recycle()
}
result = tmp
if (result.byteCount < maxLength) {
break
}
}
if (recycle) {
bitmap.recycle()
}
return result
}
这里面的逻辑应该是小于等于才行,不然就死循环了。
if (result.byteCount <= maxLength) {
break
}
着急的话自己改了重新编译一份吧,不然你还得等作者修复。
作者已经修复,尝试使用3.9.2即可