Регистрация конфигурации AWSS3, создающая более 5000 утечек памяти - PullRequest
0 голосов
/ 31 октября 2018

Последние два дня я пытался выяснить, почему такая простая настройка конфигурации 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

1 Ответ

0 голосов
/ 04 ноября 2018

Если ваше приложение может работать с этими утечками, вы можете просто сообщить об ошибке здесь и дождаться исправлений.

Кажется, они наследуют эти утечки с давних пор, как вы можете видеть здесь и здесь . Эта проблема S3 утечка памяти при многоэтапной загрузке по-прежнему открыта и помечена как ошибка, поэтому вам нужно подождать, пока они не будут устранены.

...