同じパーティション内でのMTPの移動には長い時間がかかります

同じパーティション内でのMTPの移動には長い時間がかかります

を持っていますアンドロイド4.3デバイス(Samsung Galaxy SIII LTE はストック ROM を実行)コンピュータに接続するMTP(メディア転送プロトコル)。

いくつかのファイルを整理したかったので、サブフォルダーを作成し、ファイルのサブセットをこれらのサブフォルダーに移動していました。これはすべて同じパーティション内にあります (携帯電話にインストールされている外部 SD カード)。

そのような移動の1つは、サイズが少し大きいファイルでした。2GB通常のハードディスクドライブやサムドライブでは、この移動は非常に高速で、わずか1分で完了します。数秒最大で、ファイル データ自体は移動されません。参照ポインタ (ファイル メタデータ) のみが古いフォルダーから新しいフォルダーに変更されます。

しかし、MTPを使用すると、この動きは17分!(推定時間は29分でした。)ウィンドウズ7コンピュータはファイルを一時的にローカルハードディスクにコピーし、その後、そのファイルをデバイスの新しいフォルダに再度コピーしました。あるいは、デバイスにコピーファイルを新しいフォルダにコピーし、元のファイルを削除します。

これは普通MTP の動作ですか? それとも、私のコンピューターまたは使用しているプロトコル バージョンに問題があるのでしょうか?

それが正常である場合、同じパーティション内でファイルを移動するという非効率的な方法を選択する理由は何ですか? そうでない場合、どのように修正できますか?

答え1

これは MTP の通常の動作ですか?

はい。MTPはむしろ必要最低限​​のプロトコルはないオブジェクトの直接的な変更をサポートするように設計されていますが、これはかなりばかげた怠慢だと私は思います。Wikipedia によると:

MTP および PTP 標準では、オブジェクトの直接変更はサポートされていません。変更されたオブジェクトはデバイスからコピーされ、全体を再アップロードする必要がありますが、大きなオブジェクトの場合は時間がかかることがあります。Android の Google MTP 実装には、この制限に対処するための拡張機能が含まれていますが、これらの拡張機能はホスト オペレーティング システムでサポートされている必要があり、デフォルトでは利用できません。 -ウィキペディア

Android が MTP に切り替えたのはなぜですか?

Androidは、ファイルシステムへのアクセスの問題を解決するために、ディスクストレージとしてマウントする方法からMTPに移行しました。これは、コンピュータへのアクセスにも使用できるようにしながらファイルシステムにアクセスするためです。元のディスクマウントでは、別々のパーティションを用意する必要があり、その結果、デバイスには巨大なユーザーストレージスペースがあるにもかかわらず、アプリとアプリストレージ用のスペースが不足していました(そして、ユーザーはなぜ(まだ十分なストレージ容量がある場合)。MTP を使用すると、個別のパーティションが不要になり、同じパーティションをアプリとユーザーの両方で使用できるため、システムとユーザーの両方に十分なストレージが確保されます。

しかし、MTPに永久的に変更することで、Androidは、堅牢で実績のある機能豊富なファイルシステムアクセス方法(ディスクストレージマウント)から、かなり原始的で機能が少ないがかなり新しい方法(MTP)に後退しました。さらに、SamsungデバイスはGoogleのMTP実装を使用していないため、次のような拡張機能を使用して元のMTP実装の制限を克服する能力がありません。これら

回避策

大きなファイルを移動する場合、より良い選択肢はファイルマネージャーアプリ(例:ES ファイルエクスプローラー) を、MTP 経由でデバイスに接続されたコンピューターを使用して移動するのではなく、携帯電話またはタブレットで直接移動してください。

関連情報