Как выгрузить объекты из памяти при чтении данных области в пакетном режиме - PullRequest
0 голосов
/ 17 января 2020

Ниже приведен пример кода (в быстром), данный командой Realm для чтения подмножества всего набора результатов:

// Loop through the first 5 Dog objects
// restricting the number of objects read from disk
let dogs = try! Realm().objects(Dog.self)
for i in 0..<5 {
    let dog = dogs[i]
    // ...
}

Ссылка: https://realm.io/docs/swift/latest/ (ограничение результатов)

Теперь я понимаю, что объекты загружаются, когда мы читаем их из области, меня немного смущает то, как область выгружает их из памяти, когда мы продолжаем прогрессировать. Например, если мой запрос возвращает 100 объектов в качестве набора результатов, и я читаю первые 10 объектов, то при взаимодействии с пользователем я читаю следующие 10 и так далее. Теперь, что будет с ранее прочитанными объектами в памяти. Как я могу контролировать использование памяти в таких случаях, когда мне может понадобиться выгрузить предыдущее подмножество, когда я читаю новое.

Я думаю, мне может потребоваться сделать недействительным старое царство и установить новое соединение, чтобы снова получить набор результатов и читать снова с нового смещения. Аннулирование может выгрузить все прочитанное ранее. Пожалуйста, предложите.

Спасибо!

...