V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
qq316107934
V2EX  ›  问与答

MTP 这种文件传输协议为什么到了 2019 年还是没有更好的协议来替换掉?

  •  
  •   qq316107934 · 2019-03-31 18:54:47 +08:00 · 4363 次点击
    这是一个创建于 2064 天前的主题,其中的信息可能已经有所发展或是发生改变。
    来说说几宗罪:
    1.文件同步很慢,并不实时刷新
    2.列表拉取大量文件的时候极其容易卡死
    3.复制文件的时候很容易卡死,进度有延迟,在复制较多文件的时候要等好长好长时间
    4.拉取不到文件的详情,缩略图也不方便展示
    5.断了就断了,不像经典磁盘复制还能续传
    6.拿不到文件路径,不能切片读取,不能在软件中直接打开

    为什么这种传输协议在现在还被当作主流的传输协议应用在可移动设备上,没有更好的替代协议吗?为了解决多线程并发和安全问题,要牺牲这么多用户体验吗?
    19 条回复    2019-04-01 11:15:59 +08:00
    mortal
        1
    mortal  
       2019-03-31 19:02:09 +08:00
    附议。现在都只好走网络传输,5G 速度还算可以。
    3dwelcome
        2
    3dwelcome  
       2019-03-31 19:08:27 +08:00 via Android
    是楼主手机实现有 bug 的问题吧。我用到现在,传大文件完全没问题,速度也足够,没有卡死的情况。
    choury
        3
    choury  
       2019-03-31 19:15:24 +08:00   ❤️ 1
    卡死这种问题和协议有什么关系,这种感觉就像说你写了一个看图应用,一直 crash,怪 jpg 的标准有问题
    orangeade
        4
    orangeade  
       2019-03-31 19:21:40 +08:00 via Android
    卡死几乎没遇到,其他几点倒是有体会
    开发新协议可能比较困难吧,必须 Windows 和 Android 这两个系统都支持
    而且现在趋势是网络传输,估计懒得费这个人力
    liwufan
        5
    liwufan  
       2019-03-31 19:29:57 +08:00 via iPhone
    先不说移动设备,就算两台 pc 或 mac 之间互拷文件也没有什么网络协议以外的选择啊。thunderbolt 算一个,还有呢?
    nanaw
        6
    nanaw  
       2019-03-31 19:40:20 +08:00 via Android
    可以用老版本 Android 的方式,把手机块存储挂载到 PC 上
    qq316107934
        7
    qq316107934  
    OP
       2019-03-31 19:53:32 +08:00
    @3dwelcome #2
    @choury #3
    @orangeade #4

    复现很简单,你进入 Android 主目录下或者 DCIM/Camera 目录下会有明显的刷新等待时间并且什么都不能做。
    不是一台设备会出现这个问题,我说下我能复现的设备: 一加 2/Moto G5s Plus/小米 8
    附上会出现卡死状况的证据 URL:
    https://www.zhihu.com/question/23563656 [MTP 效率这么低,为什么还被众多手机采用?]
    http://www.sohu.com/a/126418185_252415 [这么烂的 MTP 为何现在所有 Android 设备都不能不用 ]
    https://bbs.nga.cn/read.php?tid=14644475 [觉得安卓的 MTP 功能有问题的就我一个吗?]
    https://social.technet.microsoft.com/Forums/appvirtualization/zh-CN/404e0277-f8ca-4c5c-ad02-baa326b50e67/20026201602004031227211602318620307357742279130340mtp2716924335?forum=window7betacn [为什么移动媒体设备的 mtp 模式传输速度非常慢,还经常性的卡死?]

    都在不同程度的反馈在某些操作下有卡死的情况
    另外 @choury 这个比喻我觉得有点问题,这种情况应该是各家实现看图应用都很卡,发现是 jpg 标准效率偏低。

    MTP 协议是对 USB 协议上层的一种封装,希望以后能有低延迟高效率高稳定性的封装协议出现。
    pimin
        8
    pimin  
       2019-03-31 19:55:39 +08:00
    就实际使用体验来说,大部分情况下都不是很理想
    楼上说和协议没关系的我不是很赞同

    同样是邮件客户端,基于 POP3 和 IMAP/Exchange 的体验差异有点大.
    moposx
        9
    moposx  
       2019-03-31 20:02:17 +08:00 via Android
    某些内核支持将存储视为硬盘,可能可以解决楼主的需求
    我也比较讨厌 MTP,不过目前 Android 也只能这样吧
    yukiww233
        10
    yukiww233  
       2019-03-31 20:13:29 +08:00
    目录加载慢确实,卡死和 win explorer 的 mtp 实现应该有关系,以前用过一段时间的 ubuntu 就没卡住过
    dixeran
        11
    dixeran  
       2019-03-31 20:46:44 +08:00 via Android
    一般插着线就用 adb shell,无线就用 ftp
    catalina
        12
    catalina  
       2019-03-31 22:46:52 +08:00 via Android
    因为你手机上的存储空间已经不是一个单独的 sdcard 分区了,而是和 /data 分区共享的部分空间,因此不能被表现为 fat32 等文件系统。
    顺带我一般都 ftp
    xdeng
        13
    xdeng  
       2019-03-31 23:44:19 +08:00
    不是还有 ptp 吗?
    kokutou
        14
    kokutou  
       2019-04-01 00:54:28 +08:00 via Android
    不如试试锤子的 handshaker ?

    给很多就拷拷照片的人推荐了。

    都说非常好用。。。
    flynaj
        15
    flynaj  
       2019-04-01 01:47:30 +08:00 via Android
    确实是这样,厄尔复制一下也没有什么问题,经常同步数据建议还是 syncthing。
    killeder
        16
    killeder  
       2019-04-01 08:55:15 +08:00 via Android   ❤️ 1
    碰到过大量小文件卡死
    3dwelcome
        17
    3dwelcome  
       2019-04-01 09:30:13 +08:00
    @qq316107934 不好意思,经常用 MTP,来相互拷贝公司和家庭数据。就算复现一百次,也没有卡死的情况发生。可能和手机驱动有关,可能 USB 供电问题,可以电脑系统的问题。楼主经常卡死,我是一次也没碰到过。
    flyme 系统魅族手机飘过。
    3dwelcome
        18
    3dwelcome  
       2019-04-01 09:38:00 +08:00
    但是因为经常用 MTP,我遇到过几次目录不同步的情况。当 APP 写入大量文件时,可文件浏览器没即时刷新,一直都老缓存,看不到新文件,这点很烦人。
    只能用 Termux 的 sdcard 权限,来查看手机最新文件和数据。
    RobertYang
        19
    RobertYang  
       2019-04-01 11:15:59 +08:00 via Android
    mtp 应该是目前最好的解决方式了吧,毕竟 data 挂载点不是 fat32 不能直接支持
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   958 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 21:01 · PVG 05:01 · LAX 13:01 · JFK 16:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.