search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

這麼爛的MTP 為何現在所有Android設備都不能不用

雖然智能手機作為獨立的設備,其功能和性能越來越強大,但到目前為止,用戶們依舊都有著把它們插上PC電腦的需求,其中Android設備都是通過MTP模式來被PC識別,即便資深用戶們都對MTP積怨已深。本文中我們就詳細說說MTP在Android上的前世今生,以及其背後的優劣得失。

本文部分圖片來自網路,向相關版權方致謝。

MTP的幾宗罪:

也許有新手會問,MTP(Media Transfer Protocol)挺好的啊,為什麼會說難用會說積怨已深?Too simple too naive,那只是你還沒有在真正意義上用到它們而已。下面就先舉幾個例子:

1.小文件傳輸很慢

相比我們習慣的大容量存儲(即U盤模式),MTP-USB的傳輸效能只有在傳大文件時才能和它一比,如果小文件很多,MTP就會慢到崩潰,U盤那邊早就搞定了,而MTP設備甚至可能還在慢慢悠悠地計算文件大小和所需時間,差評。事實上,即便是改用WLAN無線傳輸小文件也要比MTP快得多。

2.報錯率極高

不僅是慢,MTP傳輸文件還有報錯率高的問題,經常出現進度條卡死半天不動或者直接報錯說設備正忙已停止響應,重新插拔還未必能得到解決,只能另選他途,這足夠令人抓狂了。

3.文件格式支持有限

如果是音頻愛好者估計已經見怪不怪了,在導入APE或者FLAC格式無損音頻的時候肯定會彈出窗口說這個格式不受支持,詢問是否需要轉換。拜託,我們用的可是智能手機啊,總問這些沒用的問題煩不煩?

4.文件瀏覽功能有限

當然對於大部分文件來說,我們還是可以在MTP設備裡面直接打開,然而很多必要信息比如照片的exif卻不能獲取。

此外,新建文件夾這個功能倒是正常,然而你一旦把它重命名則必然死機,只能重新插拔解決。

5.文件索引不能實時刷新

譯成白話文就是,我剛下載或者生成的文件,用手機的文件瀏覽器可以看到並打開確認正常,但插電腦上就死活找不到。

6.驅動問題大,經常不能識別

這也是困擾用戶們的大問題,要麼是無法載入驅動,要麼是插過的設備太多默認驅動不匹配之類的,特徵是插上之後看不見盤符,然後在設備管理器上顯示一個嘆號設備。

當然還有些別的問題,筆者只是一時想不起來了,總之就文件傳輸來說,相比U盤模式,MTP簡直不能用。

那麼既然MTP這麼爛,為啥還在Android設備上普及,反倒是大容量存儲模式消亡了呢?

這其實是個歷史問題,如果你是一位2011年或者之前就入坑的老司機,經歷過Android2.X的時代,就應該記得當時除了大容量存儲模式是每機必備之外,盛行的還有外置TF卡擴展,事實上還不同於現在的TF擴展,而是讓TF卡作為用戶的主存儲器。

從硬體角度講,早期沒有像現在這樣再內置快閃記憶體時直接集成用戶存儲目錄,大體是因為當時大容量快閃記憶體晶元的供應鏈不夠成熟,大量供應的只有4GB以內的容量,根本不夠用,只能先滿足系統本身的需求(後來成了一種固定的開發模式,在Android4.0之前被廣泛採用)。也正因此,當時的rom所屬目錄對於用戶而言是不可見的。

既然用戶存儲目錄依靠的是外置TF卡,這就涉及到了文件系統的問題,在此前的文章中我們詳細討論過,簡而言之就是Android基於Linux體系,所用的文件系統和Windows體系並不兼容,而TF卡普遍預置windows兼容的文件系統,這樣為了保證用戶們能夠即插即用,手機只能將用戶目錄做成一種掛載外置存儲設備的狀態,將內外分區嚴格隔離開,此時因為相互兼容,Windows就可以通過U盤模式直接掛載用戶存儲器,這時也會造成手機失去掛載而不能讀取TF卡。

而隨著軟硬體技術的發展,8GB以上甚至16GB的快閃記憶體IC得以普及之後,U盤模式便面臨瓶頸:首先,因為文件系統互不兼容,內外分區需要嚴格隔離出來,無法動態調整,這樣任意分區出現空間不足,整個系統運行就會受限。這個問題出現很早,在2010年就怨聲載道,谷歌曾經採取過一些數據轉移手段來轉移應用數據到SD卡來試圖解決,但也因為文件系統的不同,這種數據轉移能支持的非常有限,無法治本,民間有人在TF卡建立EXT4分區強行增加Linux內核可用空間,但TF卡讀寫速率偏低,可靠性相對也較差,因此拖慢整個系統也得不償失。

再者,U盤模式會令手機對存儲器失去掛載,這樣會失去很多運行數據的來源,插上電腦時正在運行的進程都可能會受到影響,增加了系統的不穩定性。

因此,唯一的方法只有將用戶分區也改為Linux兼容的文件系統,這樣手機就可以真正管理機身存儲器內所有文件,但要求Windows PC能通過手機本身來讀取用戶目錄內的文件,且相關的協議和驅動還必須被Windows原生支持,這便的確只有識別為便攜媒體設備,也就是MTP可以滿足了。於是谷歌在Android4.0時採用了大容量存儲和MTP並存的方式作為試水,然後鑒於沒有出現怨聲載道的情況(其實相當多是因為看到大容量存儲還在就懶得吐槽MTP),在Android4.1時修改了機身目錄和文件系統並開始去除大容量存儲模式。

換言之,對於谷歌而言,選擇MTP只是沒有辦法的辦法,而MTP這麼辣雞,谷歌和微軟都要背鍋,而看到微軟對於自家Windows升級的控制力和Windows10的坑爹程度,或許我們只能做好繼續忍受的準備。文末附上MTP驅動故障,即設備嘆號時的解決方案:

呼出設備管理器,找到嘆號設備,右鍵點擊更新驅動程序,選擇設備驅動列表;

然後如果需要選擇設備,則需要在各種設備中選擇便攜設備,點擊下一步;

之後需要在下面的各種MTP驅動中選擇一個能用的,再點下一步,這需要一個一個試,以筆者的經驗看從下向上更容易找到正確的驅動。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦