swift – 注册AWSS3配置,创建5000内存泄漏

我一直试图弄清楚为什么这个简单的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并等待修复.

很久以来他们似乎继承了这些漏洞,因为你可以看到herehere.这个问题S3 multipart upload memory leak仍然是开放的,并标记一个bug,所以你需要等到这些被修复.

相关文章

软件简介:蓝湖辅助工具,减少移动端开发中控件属性的复制和粘...
现实生活中,我们听到的声音都是时间连续的,我们称为这种信...
前言最近在B站上看到一个漂亮的仙女姐姐跳舞视频,循环看了亿...
【Android App】实战项目之仿抖音的短视频分享App(附源码和...
前言这一篇博客应该是我花时间最多的一次了,从2022年1月底至...
因为我既对接过session、cookie,也对接过JWT,今年因为工作...