У меня вертикальное представление коллекции с 6 различными типами ячеек ... Я заметил, что при прокрутке и получении новых сообщений с сервера (я использую механизм подкачки (я выбираю 20на 20)) приложение вылетает с журналом Message from debugger: Terminated due to memory issue
Я также заметил, что это происходит, когда выделяется более 1 ГБ ОЗУ, что безумие, поскольку в каждый момент времени представлено около трех сообщений... Это происходит, когда выбирается более 400 сообщений!
Я полагаю, что в тот момент, когда ячейка не видна, представление коллекции освобождает ее.Это правильно?Поэтому, если в ячейке есть изображение, которое я загружаю / кеширую, когда оно собирается быть представленным, а затем эта ячейка больше не видна из-за прокрутки, тогда изображение не должно быть в памяти.Правильно?
Редактировать 1:
То, что я делаю в коде, это проверка на willDisplay cell
, является ли ячейка, которая должна отображаться, последнейодин.Если это так, то я делаю запрос на сервер, чтобы принести мне следующие 20 сообщений, если таковые имеются.Когда это произойдет, я добавляю новые сообщения в массив сообщений.После этого я просто перезагружаю представление коллекции.
Edit 2:
Я использую PFImageView
из Parse SDK
в качестве механизма кэширования