微信分享的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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章