S3 Bucket PutObject блокирует основной поток - PullRequest
0 голосов
/ 25 января 2019

Я загружаю изображение в корзину S3. Это работает, но при загрузке блокирует основной поток (пользовательский интерфейс по существу останавливается во время загрузки).Мне пришлось использовать асинхронную задачу, чтобы заставить загрузку работать, потому что, если я не делаю, 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 {
    //
    //            }
            }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...