現在、アプリケーション(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つずつだけです(「同期」関数であるかのように)。ドライブへのアップロードを並行して行う方法はありますか?