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.

  • Cómo subir archivos de Android a Amazon S3 SIN usar el SDK
  • Javax.net.ssl.SSLException durante la carga múltiple de Amazon S3
  • ¿Puede S3 de Amazon devolver los resúmenes de objetos en el orden de la fecha?
  • Open failed: ENOENT (No hay tal archivo o directorio) error
  • Android Amazon S3 excepción: "La clave especificada no existe"
  • Cargar una imagen de Android a Amazon S3?
  • 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 🙂

  • AWS DynamoDB Recurso solicitado no encontrado
  • Android Amazon S3 excepción: "La clave especificada no existe"
  • AmazonServiceException: El usuario no está autorizado para realizar: dynamodb: DescribeTable Código de estado: 400; Código de error: AccessDeniedException
  • ¿Hay alguna razón específica para utilizar Amazon SNS en lugar de servicio directo Baidu
  • Open failed: ENOENT (No hay tal archivo o directorio) error
  • Lista blanca de claves de la barra de herramientas de Google Cloud Messaging direcciones IP con escala automática
  • 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.