为什么AWS S3这么慢?(Swift)
我正在使用Amazon S3在iOS应用程序上使用swift存储用户帐户的个人资料图片。。我能够从S3中获得我想要的图片,但是加载它们需要很长时间。我不知道为什么会这样。这就是S3的工作原理,还是有更好的方法?这是我下载图片的代码:为什么AWS S3这么慢?(Swift),swift,amazon-s3,Swift,Amazon S3,我正在使用Amazon S3在iOS应用程序上使用swift存储用户帐户的个人资料图片。。我能够从S3中获得我想要的图片,但是加载它们需要很长时间。我不知道为什么会这样。这就是S3的工作原理,还是有更好的方法?这是我下载图片的代码: let downloadingFilePath1 = NSTemporaryDirectory().stringByAppendingPathComponent("temp-download") let downloadingFileURL1 = N
let downloadingFilePath1 = NSTemporaryDirectory().stringByAppendingPathComponent("temp-download")
let downloadingFileURL1 = NSURL(fileURLWithPath: downloadingFilePath1)
let transferManager = AWSS3TransferManager.defaultS3TransferManager()
let readRequest1 : AWSS3TransferManagerDownloadRequest = AWSS3TransferManagerDownloadRequest()
readRequest1.bucket = "groopapictures"
readRequest1.key = self.searchTextField.text
readRequest1.downloadingFileURL = downloadingFileURL1
transferManager.download(readRequest1).continueWithBlock { (task) -> AnyObject! in
println(task.error)
if task.error == nil {
self.ppImageView.hidden = false
println("Fetched image")
self.ppImageView.image = UIImage(contentsOfFile: downloadingFilePath1)
}
return nil
}
任何帮助都将不胜感激 检查您在返回块中运行的队列。如果它不是主队列,设置
UIImageView
的image
属性可能需要很长时间才能被“注意”和更新。通过将映像分配行放入到主线程的dispatch\u async()
中来测试这一点
如果没有帮助,请运行Charles并查看S3返回图像需要多长时间。下载速度可能会根据您创建的bucket区域和访问位置而有所不同。在AWS S3中创建存储桶时,请确保选择地理位置靠近您所在位置的区域 您可以参考下面的AmazonS3文档来了解bucket区域
谢谢 这听起来可能是对的,但我不知道怎么做,你能举个例子吗?很高兴听到!祝你的项目顺利完成。