PortLine

比較

PortLine vs MacDroid

同一台 Mac、同一支手機、同樣的檔案。

每項測試都更快。

同一台 Mac、同一支手機、同樣的檔案。選一項測試來重播。

USB 偵錯

200 張照片手機 → Mac

PortLineAdvanced USB完成
4.7s200/200
MacDroidADB 模式完成
54.5s200/200
11.5×更快 4.7 s 對 54.5 s
每項測試都更快。
PortLineMacDroid
USB 偵錯200 張照片, Mac → 手機12.8 s15.5 s1.2× 更快
USB 偵錯200 張照片, 手機 → Mac4.7 s54.5 s11.5× 更快
USB 偵錯10 段影片, Mac → 手機1:04.81:07.51.04× 更快
USB 偵錯10 段影片, 手機 → Mac1:01.71:05.81.07× 更快
檔案傳輸200 張照片, Mac → 手機17.3 s19.4 s1.1× 更快
檔案傳輸200 張照片, 手機 → Mac13.3 s39.4 s3.0× 更快
檔案傳輸10 段影片, Mac → 手機1:08.31:59.41.7× 更快
檔案傳輸10 段影片, 手機 → Mac1:06.81:54.21.7× 更快
Wi-Fi200 張照片, Mac → 手機13.0 s21.8 s1.7× 更快
Wi-Fi200 張照片, 手機 → Mac19.6 s2:05.16.4× 更快
Wi-Fi10 段影片, Mac → 手機1:34.82:25.91.5× 更快
Wi-Fi10 段影片, 手機 → Mac17:52.120:38.11.2× 更快

Nothing Phone (3a) · MacBook Pro (M1 Pro) · MacDroid 2.10 · 2026 年 10 月

觀看完整測試。

3 分鐘 · 無聲音

更多測試

透過 USB 三輪測量的中位數(2026 年 10 月 22 日)。

PortLine 對比 MacDroid 2.10 (1205) · MacBook Pro,Apple M1 Pro,macOS 27.0.1 · USB 2.0,兩款 App 均透過 Android 偵錯(ADB)· 2026 年 10 月 22 日

數據對比
PortLineMacDroid
開啟資料夾中的下一個檔案1 ms610 ms快 610×
從手機複製 200 MB 資料夾5.7 s41.2 s快 7.2×
開啟資料夾中唯一的檔案133 ms864 ms快 6.5×
讀取 200 個小檔案6.7 s24 s快 3.6×
手機上的新檔案出現在 Finder 中1.5 s> 60 s快 > 40×
完成的日常操作52/5228/52+24

依序開啟手機拍攝的 20 張照片

PortLine
0.00 s
MacDroid
0.00 s

真實時間。下一張照片 1 毫秒對 610 毫秒。

把 200 MB 的資料夾從手機複製到 Mac

PortLine
0.0 s
MacDroid
0.0 s

以 4 倍速顯示。5.7 秒對 41.2 秒。

手機上的新照片

PortLine1.48 s
Summer 2026

等待中…✓ 已顯示60 秒後仍未顯示

MacDroid> 60 s
Summer 2026

等待中…✓ 已顯示60 秒後仍未顯示

手機把照片存進 Finder 中開啟的資料夾。 3 秒後 12 倍速。

Nothing Phone (3a) · Android 16 · USB

52 項日常操作

複製、重新命名、移動和刪除,在手機上核實。

PortLine52/52
  • 52 完成
MacDroid28/52
  • 28 完成
  • 13 失敗
  • 11 因前一步失敗未能執行

換過來的理由

011 ms

開啟資料夾中的下一個檔案

MacDroid610 ms

025.7 秒

從手機複製 200 MB 資料夾

MacDroid41.2 秒

031.5 秒

手機上新建的檔案出現在 Finder 中

MacDroid超過 60 秒

048/8

含 : ? * | \ " < > 的檔名也能複製

MacDroid0/8

052/2

只改大小寫的重新命名,以及移入資料夾

MacDroid0/2

063.4 秒

新建的 2,000 個檔案資料夾會出現

MacDroid從未出現

讀取、開啟、複製

三輪的中位數。越短越快。

PortLineMacDroid越短越快

從手機讀回 200 個小檔案(16 KB)

PortLine6.65 s
MacDroid24 s
快 3.6 倍

從手機複製含 50 個 4 MiB 檔案的資料夾(ditto)

PortLine5.68 s
MacDroid41.17 s
快 7.2 倍

讀取 50 個 4 MiB 檔案,四個並行

PortLine5.4 s
MacDroid7.44 s
快 1.4 倍

開啟資料夾中的下一個檔案

PortLine1 ms
MacDroid609.5 ms
快 610 倍

開啟 200 個檔案的資料夾中的一個檔案

PortLine159 ms
MacDroid599 ms
快 3.8 倍

開啟資料夾中唯一的檔案

PortLine133 ms
MacDroid864 ms
快 6.5 倍

把 200 個小檔案(16 KB)複製到手機

PortLine9.16 s
MacDroid9.39 s
相當

把 50 個 4 MiB 檔案複製到手機

PortLine6.59 s
MacDroid6.62 s
相當
讀取、開啟、複製
TestPortLineMacDroid
從手機讀回 200 個小檔案(16 KB)6.65 s24 s
從手機複製含 50 個 4 MiB 檔案的資料夾(ditto)5.68 s41.17 s
讀取 50 個 4 MiB 檔案,四個並行5.4 s7.44 s
開啟資料夾中的下一個檔案1 ms609.5 ms
開啟 200 個檔案的資料夾中的一個檔案159 ms599 ms
開啟資料夾中唯一的檔案133 ms864 ms
把 200 個小檔案(16 KB)複製到手機9.16 s9.39 s
把 50 個 4 MiB 檔案複製到手機6.59 s6.62 s

Nothing Phone (3a) · Android 16 · USB

為什麼開啟更快

macOS 只有在其檔案提供者資料庫更新之後,才會把剛下載的檔案交給要求它的 App,而更新由大約半秒後的計時器觸發,除非新的下載要求強制更新。MacDroid 每次開啟都要等這個計時器。PortLine 把資料夾裡接下來的檔案作為一個要求一起索取,立即強制更新,下一個檔案在你按下之前就已就緒。

大檔案和大資料夾

PortLineMacDroid
把 1 GiB 檔案複製到手機28.9 s · 37.2 MB/s35.4 s · 30.4 MB/s
讀回 1 GiB 檔案28.2 s · 38.1 MB/s29.5 s · 36.4 MB/s
列出含 2,000 個檔案的新資料夾3.44 s資料夾從未出現

2026 年 10 月 17 日,Nothing Phone,USB 2.0。

Nothing Phone (3a) · Android 16 · USB

手機上的變更多快到達 Finder

資料夾PortLineMacDroid(實測)
在 Finder 中開啟,或最近 2 分鐘內顯示過開啟時立即;變更後一分鐘內每 2 秒;之後每 5 秒高負載下 18–40 秒;低負載下即使做了檔案檢查,60 秒內也未到達
在 Finder 中關閉,或最近 10 分鐘內被其他 App 列出每 30 秒不再讀取
其他Finder 開啟時開啟時,或檔案檢查後

55 個日常邊緣案例

每一步都在 App 的 Finder 位置中完成,然後透過另一條連線在手機上核實。Nothing Phone,Android 16,2026 年 10 月 17 日,比較 MacDroid 2.10。

36PortLine 領先或唯一完成
11±10% 以內
2MacDroid 領先
16MacDroid 無法完成

55 項中 PortLine 在 36 項更快或唯一能完成;MacDroid 在 2 項領先,約十分之一秒;11 項在 ±10% 以內。MacDroid 有 16 項無法完成。

測試PortLineMacDroid較優
create folder0.42 s0.34 stie
copy 64 KB file0.23 s0.96 sPortLine
overwrite existing file0.67 s0.59 stie
append to file0.63 s0.63 stie
zero-byte file0.14 s0.41 sPortLine
copy nested folder (30 files, 9 folders)1.52 s4.28 sPortLine
name: emoji0.73 s0.71 stie
name: accents (NFD from macOS)0.16 s0.77 s (written decomposed, NFD)PortLine
name: japanese0.69 s0.75 stie
name: spaces0.83 s0.84 stie
name: leading dot0.83 s0.83 stie
name: long (240 bytes)0.87 s0.72 sMacDroid
name: colon0.87 s (look-alike name)failsPortLine
name: question mark0.7 s (look-alike name)failsPortLine
name: asterisk0.84 s (look-alike name)failsPortLine
name: pipe0.13 s (look-alike name)failsPortLine
name: backslash0.78 s (look-alike name)failsPortLine
name: double quote0.82 s (look-alike name)failsPortLine
name: angle brackets0.76 s (look-alike name)failsPortLine
name: trailing space0.82 s0.71 sMacDroid
name: trailing dot0.79 s0.76 stie
Finder metadata files (.DS_Store, ._*)stays on the Macstays on the Mac
rename file0.53 s0.8 sPortLine
case-only rename0.58 sfailsPortLine
rename folder with 5 files0.36 s0.66 sPortLine
move file into folder0.47 sfailsPortLine
move folder into folder0.52 s0.9 sPortLine
move file to Trash0.29 s2.06 sPortLine
move folder to Trash0.37 s2.84 sPortLine
delete file (rm)1.85 s2.15 sPortLine
delete folder tree (rm -r, 10 files)2.82 s2.73 stie
paste a file (APFS clone, as Finder does)0.43 s0.51 stie
paste a folder (30 files, clone)1.95 s3.49 sPortLine
Duplicate a phone file0.4 s0.62 sPortLine
rename to a name with : and ?0.31 sfailsPortLine
copy a tagged file with extended attributes0.47 s0.84 sPortLine
copy a phone file to the Mac (not downloaded yet)0.19 sfails (never appeared)PortLine
p2-open: phone makes folder3.35 sfailsPortLine
p2-open: phone creates file1.48 s—PortLine
p2-open: read file made on phoneok—
p2-open: phone changes file6.23 s—PortLine
p2-open: read changed fileok—
p2-open: phone renames file6.64 s—PortLine
p2-open: phone deletes file3.11 s—PortLine
p2-open: phone makes subfolder3.03 s—PortLine
p2-open: change in a closed folder shows when Finder opens it7.97 s—PortLine
read 50 x 4096 KiB made on the phone (4 at a time)8.97 s, 23.4 MB/s—PortLine
read 200 x 16 KiB made on the phone (4 at a time)10.4 s, 0.3 MB/s—PortLine
list a new 2,000-file folder3.44 sfails (folder never appeared)PortLine
list it again0.002 s—PortLine
copy 1 GiB file28.9 s, 37.2 MB/s35.4 s, 30.4 MB/sPortLine
read 1 GiB file back from the phone28.2 s, 38.1 MB/s29.5 s, 36.4 MB/stie
p2-open: folder visible after MacDroid file check—fails
read 50 files made on the phone—fails (folder never appeared)
read 200 files made on the phone—fails (folder never appeared)

MacDroid 做不到的事

  • 含 : ? * | \ " < > 的名稱失敗;PortLine 寫入手機接受的相似字元。
  • 僅改大小寫的重新命名(photo.jpg → Photo.jpg)失敗。
  • 把檔案移進資料夾失敗。
  • 手機上建立的檔案即使做了檔案檢查也從未出現在其 Finder 位置中,因此手機上建立的東西都讀不到。
  • 含 2,000 個檔案的新資料夾從未出現。

MacDroid 相當或領先的地方

  • 透過 USB 偵錯傳輸線時,兩款 App 複製 10 段大型影片都達到手機 USB 2.0 的上限,因此 PortLine 在這裡領先 4% 到 7%。
  • 把 50 個 4 MiB 檔案複製到手機,兩款 App 在兩支手機上用時大致相同。
  • 兩項小的名稱測試,240 位元組的名稱和結尾空格,MacDroid 快約 0.1 秒,在誤差範圍內。
  • 單個小寫入是勢均力敵:PortLine 在防當機的重新命名上多花約 50 毫秒,所以寫了一半的檔案絕不會以你的檔名出現。
  • MacDroid 在 Mac 上保留自己的快取。它自己上傳的檔案能從該快取快速讀回;這裡的數字使用的是手機建立、兩款 App 都沒見過的檔案。

我們如何測量

  1. 這 12 場比賽錄製於 2026 年 10 月 24 日和 25 日。每款 App 透過自己的 Finder 位置複製同樣的 200 張照片(100 MB)和 10 段影片(2.45 GB),一次只執行一款 App,連線方式為 USB 偵錯(PortLine 的 Advanced USB、MacDroid 的 ADB 模式)、檔案傳輸(Standard USB、MTP 模式)和 Wi-Fi。
  2. 上傳在 macOS 的 File Provider 記錄檔記下最後一個檔案以完整大小在手機上建立時結束;下載在最後一個位元組到達 Mac 時結束。每個檔案都在手機或磁碟上核實過,錄影中的計時也由同樣的事件驅動。
  3. 透過 Wi-Fi 上傳 10 段影片這一項,兩款 App 交替各錄製兩次,呈現每款 App 較好的一次,這條規則在第一次錄製前就已確定。兩組中都是 PortLine 較快。
  4. 每項測試都透過 App 自己位於 ~/Library/CloudStorage 下的 Finder 位置進行,使用 Finder 發出的呼叫:copyfile、rename、open 和 read。
  5. 每次讀取前,先刪除本機副本,並等待 macOS 的檔案提供者閒置三秒,確保檔案真正來自手機。
  6. 各組按 ABBA 交替:PortLine、MacDroid、MacDroid、PortLine,各三輪,在安靜的 Mac 上。在其他工作負載下執行的組會被列出並排除。
  7. 讀回的每個位元組都與來源檔案比對(SHA-256)。兩款 App 全部 80 次計時執行都已完成。
  8. 交替輪次透過 USB 偵錯進行,使用 MacDroid 最快的 ADB 模式。錄製的比賽涵蓋全部三種連線。

每個數字背後的測試工具、原始結果和錄影都與專案一起保存。

從 Android File Transfer 或 OpenMTP 過來?

Google 已不再提供 Mac 版 Android File Transfer。PortLine 的 Standard USB 模式使用與這些工具相同的檔案傳輸(MTP)連線,但在 Finder 裡而不是單獨的視窗裡;它的 Advanced USB 和 Secure Wi-Fi 模式走得比 MTP 更遠。