微信分享的BUG记录

1. Android分享小程序到Android没问题,但是iPhone和iPad不显示小程序的封面图片,只有一个问号。

结果:确保不出错,这个图片格式只能为jpg。

UI什么切图都给的PNG,为了节约包大小,使用Android Studio 转成webp,但是微信客户端在iOS端可能不支持这个所以显示不出来。

尝试1:用png,但是PNG是无损压缩,compress方法不能压缩它的大小,图片有500k,微信限制128k,怎么都不行。

尝试2:转jpg,还好图片不需要透明背景,先png转jpg,再用tinypng压缩jpg,成功将500k压缩到50k。

val stream = ByteArrayOutputStream()
BitmapFactory.decodeResource(resources,R.drawable.slice_share_we_chat_app,BitmapFactory.Options().apply {
    inPreferredConfig = Bitmap.Config.RGB_565
    inSampleSize = 2
}).compress(Bitmap.CompressFormat.JPEG, 10, stream)
msg.thumbData = stream.toByteArray()  // 小程序消息封面图片,小于128k<==> 128*1024 Bytes ~ 128,000 Bytes
stream.flush()
stream.close()

以下为华为平板M6测试结果:

结果直接是thumbData的size()
不知道为啥这里设置RGB565反而比8888要大,记得Glide里面也说过,貌似与Android版本有关。

inPreferredConfig inSampleSize quality 结果(Bytes)
RGB_565 1 10 71571
RGB_565 1 100 1079636
RGB_565 2 10 24708
RGB_565 2 100 397528
ARGB_8888 1 10 71330
ARGB_8888 1 100 933535
ARGB_8888 2 10 24645
ARGB_8888 2 100 355268

你可能感兴趣的:(Android,微信分享)