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

2019-03-31 18:54:47 +08:00
 qq316107934
来说说几宗罪:
1.文件同步很慢,并不实时刷新
2.列表拉取大量文件的时候极其容易卡死
3.复制文件的时候很容易卡死,进度有延迟,在复制较多文件的时候要等好长好长时间
4.拉取不到文件的详情,缩略图也不方便展示
5.断了就断了,不像经典磁盘复制还能续传
6.拿不到文件路径,不能切片读取,不能在软件中直接打开

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

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

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

都说非常好用。。。
flynaj
2019-04-01 01:47:30 +08:00
确实是这样,厄尔复制一下也没有什么问题,经常同步数据建议还是 syncthing。
killeder
2019-04-01 08:55:15 +08:00
碰到过大量小文件卡死
3dwelcome
2019-04-01 09:30:13 +08:00
@qq316107934 不好意思,经常用 MTP,来相互拷贝公司和家庭数据。就算复现一百次,也没有卡死的情况发生。可能和手机驱动有关,可能 USB 供电问题,可以电脑系统的问题。楼主经常卡死,我是一次也没碰到过。
flyme 系统魅族手机飘过。
3dwelcome
2019-04-01 09:38:00 +08:00
但是因为经常用 MTP,我遇到过几次目录不同步的情况。当 APP 写入大量文件时,可文件浏览器没即时刷新,一直都老缓存,看不到新文件,这点很烦人。
只能用 Termux 的 sdcard 权限,来查看手机最新文件和数据。
RobertYang
2019-04-01 11:15:59 +08:00
mtp 应该是目前最好的解决方式了吧,毕竟 data 挂载点不是 fat32 不能直接支持

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/550572

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX