V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wangwang24
V2EX  ›  Android

Android 版微信朋友圈上传图片压缩的问题

  •  
  •   wangwang24 · 2017-07-24 21:58:17 +08:00 · 21405 次点击
    这是一个创建于 2680 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天传了一张比较长的图片,分辨率大概是 1080*20000+,手机自带便签 APP 里的一条纯文字的便签生成的图片,Android 微信上传后查看,发现文字基本不可看清的状态,同一张图片用 iOS 微信再上传一遍,效果杠杠的。

    把 iOS 和 Android 两台设备上传到朋友圈之后的图片分别下载对比后发现,Android 版微信不仅降低了图片质量,还压缩了图片大小,而 iOS 版微信的图片大小和原图一致,开始以为就是原图,后来查看发现 iOS 的这张图片是 2.75M ,而原图只有 2.09M 。iOS 的图片在 Android 手机自带图库里看起来观感也非常好,双击放大操作时,肉眼看到直接就是清晰的,而原图在图库里放大时,显示有明显的延迟,肉眼可见的从模糊到清晰的过程,估摸得有两三秒…… 820 在现在也算是中端偏上的 SoC 吧,自带图库看张图竟然是这样的体验……

    所以现在事情就很奇怪,iOS 微信上传后的图片,观感好就算了,但是猜测大概也会压缩吧,怎么会比原图还大呢?之前看过某乎上有个回答讲到可能是 Android 采用的 libjpeg 图像库的问题,不确定是否属实,非常疑惑,到底是谷歌的问题,还是腾讯的问题?
    30 条回复    2018-08-14 17:40:13 +08:00
    EricCartman
        1
    EricCartman  
       2017-07-24 22:16:45 +08:00 via Android
    明显是微信垃圾,telegram 就不会出现这种情况
    EricCartman
        2
    EricCartman  
       2017-07-24 22:17:21 +08:00 via Android
    而且我记得 PNG, GIF 之类的格式就不会被压缩
    woocean
        3
    woocean  
       2017-07-24 22:23:30 +08:00
    关于 IOS 和安卓图片质量不同的问题好像在科技美学见过,结论是安卓端微信就是这么设置的,IOS 就是质量好些。
    morethansean
        4
    morethansean  
       2017-07-24 22:25:21 +08:00
    其实一定要说, 这两个和底层都可以没什么关系。

    P.S. 自带图库是个什么 APP ?
    shoaly
        5
    shoaly  
       2017-07-24 22:36:37 +08:00
    这也是我一直很疑惑的问题, 现在安卓无论是内存 cpu 还是摄像头 硬件方便都已经非常高级了, 但是这个微信压缩质量从来没升级过... 知乎上那个文章根本不让人信服, 安卓原生库就算有问题, 自己换一个库就可以了...
    wangwang24
        6
    wangwang24  
    OP
       2017-07-24 22:37:30 +08:00
    @EricCartman 不见得啊,一般拍的照片可能肉眼看不太明显,像文字为主的图片,而且分辨率比较长的图片的话才能比较直观发现区别,TG 我也试过,同样这张便签生成的图片,TG 根本发不出去,Mac 端和 Android 端都会显示叹号,重试 N 次都一样,JPEG 和 PNG 都不行,我猜测是因为 TG 想到了这种图片压缩后效果不会好,所以特地做出的限制
    wangwang24
        7
    wangwang24  
    OP
       2017-07-24 22:39:04 +08:00
    @morethansean 就是手机的系统的图库啊。。
    facetest
        8
    facetest  
       2017-07-24 22:45:26 +08:00 via Android
    微信用户量摆在那里,海量图片存储、带宽的成本相当高,目前的图片参数可以满足日常大部分的需求就 ok 了
    abmin521
        9
    abmin521  
       2017-07-24 22:55:58 +08:00 via Android
    Macbooker
        10
    Macbooker  
       2017-07-24 22:57:07 +08:00 via iPhone
    @facetest 够用了够用了
    abmin521
        11
    abmin521  
       2017-07-24 23:02:29 +08:00 via Android
    Android 微信 老毛病了
    楼主的图 https://i.loli.net/2017/07/24/59760bc6975ef.png
    有空用 tg 试试
    abmin521
        12
    abmin521  
       2017-07-24 23:03:50 +08:00 via Android   ❤️ 1
    @facetest 那为啥不压缩 iOS 的呢
    wangwang24
        13
    wangwang24  
    OP
       2017-07-24 23:10:46 +08:00
    @abmin521 怎么这都被你发现了。。。
    lzhr
        14
    lzhr  
       2017-07-24 23:23:11 +08:00
    安卓机从三四百到三四千
    morethansean
        15
    morethansean  
       2017-07-24 23:26:40 +08:00
    @wangwang24 好歹说一下什么 ROM 吧……市面上那么多 Android 手机,默认图库少说也有几十个……
    Deeer
        16
    Deeer  
       2017-07-24 23:38:54 +08:00
    我没试验过,但是理论上都是会进行压缩的,同时除去一些图片。
    wangwang24
        17
    wangwang24  
    OP
       2017-07-24 23:49:18 +08:00
    @morethansean 一加 3,官方氢 OS,我没说是因为觉得不需要说,因为各家的系统图库基本大同小异,而且氧 OS 的图库跟原生 Android 也比较像,这是第一点原因。第二点原因是,这张原图,即使在 iOS 系统的照片里查看,也没有经过 iOS 微信朋友圈处理过的图片清晰。
    wangwang24
        18
    wangwang24  
    OP
       2017-07-24 23:58:37 +08:00
    @Deeer 一般手机相机拍摄的 4 比 3 比例的那种照片我也试过,两个系统的微信都会不同程度的压缩,但是这种长条的图片好像不是简单的压缩
    wangwang24
        20
    wangwang24  
    OP
       2017-07-25 00:03:25 +08:00
    这个图床好像也对图片进行了处理。。。不过肉眼观感上基本没变
    morethansean
        21
    morethansean  
       2017-07-25 00:33:16 +08:00   ❤️ 1
    @wangwang24 不一样啊,亲儿子自带图库是 Google Photos,曾经很长一段时间 Photos 看高清照片那叫一个卡我都是直接用别的图库看的……不过现在好多了貌似这个 bug 已经修复了……

    我在手机上用图片编辑软件打开了之后随便 save 了一下, 上传 imgur : , 大小比你楼上给的原图(1.9mb) 大(2.2mb). 其实说白了就是 jpg 保存时的参数的不同导致的啊…… 微信 Android 给的压缩率太大了呗……
    MASAILA
        22
    MASAILA  
       2017-07-25 00:39:26 +08:00
    微信的照片的确是太模糊的 微博厚道多了
    ivechan
        23
    ivechan  
       2017-07-25 01:12:44 +08:00
    因为 Android 在腾讯眼里是二等公民, 比如王者荣耀, 新出的 iPhone 默认都有高帧率,
    Android 手机就必须交保护费.
    autulin
        24
    autulin  
       2017-07-25 01:18:05 +08:00 via Android
    系统不一样,程序开发时所用的图片压缩的工具包也不一样,没有什么好比较的吧

    怪也怪 Android 开发者的决定呗,扯不到系统和手机头上吧
    chanssl
        25
    chanssl  
       2017-07-25 03:58:51 +08:00 via Android
    Android 版发长图确实极其恶心,这个锅必须得腾讯背
    ahjsrhj
        26
    ahjsrhj  
       2017-07-25 07:14:04 +08:00 via Android
    你说的图库问题,是因为你的图片尺寸过大,图库使用了 BitmapRegionDecoder 来获取一块块区域进行展示,类似瓦片地图给拼接起来,同时存储缩略图,先展示缩略图,再用清晰的对应区块替换,所以会有模糊到清晰的过程,不过两三秒确实有点夸张了
    facetest
        27
    facetest  
       2017-07-25 08:45:49 +08:00 via Android
    @abmin521 ios 可能有特殊逻辑,但压缩转码这种做法在鹅厂里是普遍存在的,不仅仅是微信,几乎所有鹅系 app 都是这种做法。
    facetest
        28
    facetest  
       2017-07-25 08:53:42 +08:00 via Android
    @abmin521 我之前说的“存储、带宽成本”其实不是很对,应该说带宽成本第一,其他成本次之,一张图片传到后台会被转成多种规格,比如朋友圈小图是小尺寸,点开大图是大尺寸,下载时是原始尺寸
    badcode
        29
    badcode  
       2017-07-25 13:09:50 +08:00
    不知道是不是历史原因

    https://www.zhihu.com/question/29975901
    weyou
        30
    weyou  
       2018-08-14 17:40:13 +08:00
    挖个坟, 这个问题没有鹅厂朋友出来解释下真是原因么?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1113 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:32 · PVG 07:32 · LAX 15:32 · JFK 18:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.