swift - 注册 AWSS3 配置造成 5000 多次内存泄漏

标签 swift amazon-web-services amazon-s3 memory-leaks instruments

在过去的两天里,我一直在努力弄清楚为什么这种简单的 AWSS3 配置设置可能会造成 5000 多次内存泄漏。这是我在 AppDelegate 中运行的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // SetUp AWS Config
    let myIdentityPoolId = Constants.AWS_IDENTITY_POOL_ID
    let credentialsProvider: AWSCognitoCredentialsProvider = AWSCognitoCredentialsProvider(regionType: .USWest2,
                                                                                           identityPoolId: myIdentityPoolId)
    if let configuration = AWSServiceConfiguration(region: .USWest2, credentialsProvider:credentialsProvider) {
        AWSS3.register(with: configuration, forKey: "defaultKey")
    }

    return AWSMobileClient.sharedInstance().interceptApplication(application,
                                                                 didFinishLaunchingWithOptions: launchOptions)
}

使用 Instruments,我测试了删除我共享的所有代码(返回 AWSMobileClient.sharedInstance().interceptApplication 除外)并发现我没有内存泄漏,但是一旦我将它添加回来,我就结束了所有的泄漏……是什么原因造成的?

如果有帮助,我想列出我的 AWS 存储桶中使用以下代码的对象:

 let listRequest: AWSS3ListObjectsRequest = AWSS3ListObjectsRequest()
    let s3 = AWSS3.s3(forKey: "defaultKey")

    listRequest.bucket = Constants.AWS_BUCKET
    listRequest.prefix = Constants.SPECIAL_PREFIX

    s3.listObjects(listRequest).continueWith { (task) -> AnyObject? in
}

我是否犯了明显的错误?

enter image description here

最佳答案

如果您的应用程序可以处理这些漏洞,那么您只需提交错误即可 here并等待修复。

正如您所见here,他们似乎很早就继承了这些漏洞和 here .本期S3 multipart upload memory leak仍处于打开状态并标记为错误,因此您需要等到这些问题得到修复。

关于swift - 注册 AWSS3 配置造成 5000 多次内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53074616/

相关文章:

ios - Google Places API 图片请求网址不返回图片

ios - 如何将 alamofire 中的默认值重用于另一个类/ View Controller

amazon-web-services - AWS EC2无需通过Internet连接VPC内部的RDS

以错误类型作为参数的 iOS AWS 协议(protocol)方法导致协议(protocol)不符合

amazon-web-services - aws s3 cp 返回调用 HeadObject 操作时发生错误 (403) : Forbidden

ios - 如何在 MPMoviePlayerController 上处理多个 SRT 文件

ios - Swift:UIScrollView 不垂直滚动

amazon-web-services - Amazon Web Service ECS (SSL/HTTPS) 问题

amazon-s3 - 创建具有特定前缀的对象时触发 lambda

php - Amazon S3 - 405 方法不允许使用 POST(尽管我允许在存储桶上使用 POST)