1

現在、アプリケーション(DataSync)にGoogleドライブを実装していますが、パフォーマンスの問題が少し発生しました。ファイルを並行してアップロードできないようです。同じロジックが他のクラウドでも機能するため、DriveSDKの「問題」または使用方法のいずれかであると確信しています。

これが、現在InputStreamからファイルをアップロードしている方法です。

InputStreamContent content = new InputStreamContent("datasync/appdata", pIn);
Insert insertRequest = Global.drive.files().insert(body, content).setConvert(false);
int size = (int) Math.ceil((double) localFile.length() / MediaHttpUploader.MINIMUM_CHUNK_SIZE) * MediaHttpUploader.MINIMUM_CHUNK_SIZE;
if(size > 2097152)  // 2MB
{
    insertRequest.getMediaHttpUploader().setChunkSize(2097152);
}
else
{   
    insertRequest.getMediaHttpUploader().setChunkSize(size);
}
com.google.api.services.drive.model.File driveFile = insertRequest.execute();

このコードを実行しているスレッドは6つあり、すべて.execute()コマンドに到達しますが、アップロードするのは1つずつだけです(「同期」関数であるかのように)。ドライブへのアップロードを並行して行う方法はありますか?

4

0 に答える 0