Java Amazon s3在android中为Transfer Manager上传进度计算

Java Amazon s3在android中为Transfer Manager上传进度计算,java,android,amazon-s3,amazon,Java,Android,Amazon S3,Amazon,我正在为AmazonS3上传使用高级api,并收到一个进度回电,但方法 upload.getprogress().getPercentageTransferred() 有时给出的百分比高于100.为什么它显示在100以上?有什么需要改变的吗 BasicAWSCredentials lAwsCredentials = new BasicAWSCredentials( Constants.ACCESS_KEY_ID, Constants.SECRET_KEY); AmazonS

我正在为AmazonS3上传使用高级api,并收到一个进度回电,但方法 upload.getprogress().getPercentageTransferred() 有时给出的百分比高于100.为什么它显示在100以上?有什么需要改变的吗

   BasicAWSCredentials lAwsCredentials = new BasicAWSCredentials(
        Constants.ACCESS_KEY_ID, Constants.SECRET_KEY);
AmazonS3Client s3Client = new AmazonS3Client(lAwsCredentials);

 TransferManager tm = new TransferManager(s3Client);

        File lFile = new File(mFilePath);

        PutObjectRequest putRequest = new PutObjectRequest(mBucketName,
                mKeyName, lFile);
    mUpload = tm.upload(putRequest, new S3ProgressListener() {

    ExecutorService lExecutor = Executors.newFixedThreadPool(1);

            @Override
            public void progressChanged(ProgressEvent arg0) {
                // Log.v(TAG, "Transfer: " + mUpload.getDescription());
                // Log.v(TAG, "  - Percentage: "
                // + mUpload.getProgress().getPercentTransferred());

                double lProgress = mUpload.getProgress()
                        .getPercentTransferred();

                int lProgressInteger = (int) lProgress;



                if (lProgressInteger % 10 == 0) {
                    Log.d(TAG, "File id:" + mLocalFileId
                            + "==== Transfer: " + mUpload.getDescription()
                            + "====Percentage: "
                            + mUpload.getProgress().getPercentTransferred());

                    publishProgress(lProgressInteger);

                }

            }

            @Override
            public void onPersistableTransfer(
                    final PersistableTransfer persistableTransfer) {
                lExecutor.submit(new Runnable() {

                    @Override
                    public void run() {
                        File f = new File(Environment
                                .getExternalStorageDirectory()
                                + "/resumeupload");
                        if (!f.exists())
                            try {
                                f.createNewFile();

                                FileOutputStream fos;

                                fos = new FileOutputStream(f);

                                persistableTransfer.serialize(fos);
                                fos.close();
                            } catch (FileNotFoundException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
                    }
                });

            }
        });