Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Subir archivo a Amazon S3 desde Android lento

He implementado el archivo de carga a Amazon S3 después de la guía de Amazon y he notado que es demasiado lento. Se tarda alrededor de 10 segundos para cargar un archivo png simple alrededor de 20kb.

Inicialmente pensé que el problema estaba relacionado con los hilos y he implementado un AsyncTask para cargar la imagen, pero el problema sigue ahí. A continuación se muestra el código empleado para cargar la imagen.

  • Javax.net.ssl.SSLException durante la carga múltiple de Amazon S3
  • Cargar una imagen de Android a Amazon S3?
  • Descargar el archivo apk de S3 con DownloadManager
  • El ejemplo de S3 Transfer Manager muestra un error: No se admite el acceso no autenticado
  • Cómo subir archivos de Android a Amazon S3 SIN usar el SDK
  • private class UploadFileTask extends AsyncTask<String, Integer, String> { String remotePath; String remoteFileName; File file; Context context; S3UploadInterface listener; public UploadFileTask(Context context,String remotePath,String remoteFileName, File file, S3UploadInterface listener){ this.context=context; this.remotePath=remotePath; this.remoteFileName=remoteFileName; this.file=file; this.listener=listener; } protected String doInBackground(String... params) { credentialsProvider = new CognitoCachingCredentialsProvider(context, "MY_PRIVATE_CREDENTIAL", Regions.US_EAST_1); TransferManager transferManager = new TransferManager(credentialsProvider); Upload upload = transferManager.upload(remotePath, remoteFileName, file); TransferProgress transferred = upload.getProgress(); while (!upload.isDone()) { try { publishProgress((int) transferred.getPercentTransferred()); } catch (Exception e) { listener.uploadFailed(e); } } return "uploaded"; } protected void onProgressUpdate(Integer... progress) { if (listener!=null) listener.currentUploadProgress(progress[0]); } protected void onPostExecute(String result) { if (listener!=null) listener.uploadCompleted(); } } 

    ¿Alguna idea para resolver este problema? Gracias 🙂

  • Registro de usuario simple con Amazon Cognito
  • Cargar una imagen de Android a Amazon S3?
  • AmazonServiceException: El usuario no está autorizado para realizar: dynamodb: DescribeTable Código de estado: 400; Código de error: AccessDeniedException
  • Descargar el archivo apk de S3 con DownloadManager
  • ¿Hay alguna razón específica para utilizar Amazon SNS en lugar de servicio directo Baidu
  • FCM con AWS SNS
  • One Solution collect form web for “Subir archivo a Amazon S3 desde Android lento”

    Esto va a martillar su CPU

      while (!upload.isDone()) { try { publishProgress((int) transferred.getPercentTransferred()); } catch (Exception e) { listener.uploadFailed(e); } } 

    Intente agregar Thread.sleep para dar tiempo a otros threads para que se ejecuten.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.