Инструменты регистрации дополнительных живых объектов - PullRequest
2 голосов
/ 23 февраля 2012

При инициализации моего приложения я считываю некоторые данные из контекста управляемого объекта Core Data. По какой-то причине, хотя строка кода executeFetchRequest вызывается только один раз, я вижу 5 живых записей в списке объектов инструмента Распределение инструментов. Например, если я углублюсь в исходный код из Инструментов, я увижу это:

enter image description here

Я установил точку останова на этой строке и убедился, что приложение останавливается на этой строке только один раз. Однако вот что я вижу в результате в инструментах:

enter image description here

Если я посмотрю на трассировку стека для каждого из этих 5 объектов, то она точно такая же, все указывают назад на строку 135, как показано на первом снимке экрана. (Как видите, я пробовал несколько разных сценариев, и все они имеют одинаковый результат.)

Итак, у меня здесь два вопроса.

Вопрос № 1: Почему я вижу 5 живых объектов?

Вопрос № 2: Почему объекты живут каким-либо образом? Из того, что я могу сказать, все освобождается правильно и помещается в пулы авто-релиза, которые должны заботиться об этих объектах.

Я нахожусь на Xcode 4.2 с iOS SDK 5.0. Любые идеи были бы хорошы. Спасибо.

1 Ответ

2 голосов
/ 23 февраля 2012

Экземпляры CFData - это просто куски данных.Возможно, они представляют записи в базе данных, но не знают внутренних данных CoreData, это всего лишь предположение.Они могут представлять кэшированные данные, которые хранятся в managedObjectContext, но это тоже просто предположение.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...