S3 Bucket PutObject阻止主线程

时间:2019-01-24 23:26:57

标签: android amazon-s3 kotlin

我正在将图像上传到S3存储桶,它可以工作,但是在上传时会阻塞主线程(UI在下载过程中基本上停止了)。我必须使用异步任务来使上传工作正常进行,因为如果不这样做,Android会在主线程上引发有关网络调用的异常。如何强制上传在后台线程上运行?

这是我的代码:

 val metaData = ObjectMetadata()
        metaData.setContentLength(myBitmapByteArray.size.toLong())

          doAsync {
                try {
                    s3Client.putObject("my-bucket", "my_test_file/abc.bmp", myByteInputStream, metaData)
                } catch (e: AmazonServiceException) {
                    System.err.println(e.errorMessage)
                    System.exit(1)
                }
                Log.i("AMAZON", "File upload to s3 completed")
                //TODO: uithread never called below
    //            uiThread {
    //
    //            }
            }

0 个答案:

没有答案