Я видел, что мое приложение падает при использовании с инструментом распределения.Просматривая журналы устройства, я могу сказать, что это сбой «Недостаточно памяти».Мой процесс приложения в дополнение к другим, используемым моим приложением, был отброшен.Вот как выглядят журналы устройства:
MyAPP <09da004ccd82e7a2c54e0ea6ab4eab24> 1990 (jettisoned) (active)
MobilePhone <6d3241e15be58311a76700272febc6d4> 635 (jettisoned)
accessoryd <6a25188f645a24b167cda5e0a86d486a> 121 (jettisoned)
Я не сталкиваюсь с какими-либо сбоями, когда приложение работает без инструментов, и пользователи считают его работоспособным.Я сосредоточился на решении этой проблемы в течение пары дней (почти весь мой код комментируется, чтобы найти проблему).
Мой вопрос: может ли сбой приложения при использовании в сочетании с инструментами представлять проблему для конечного пользователя?Или это только вызовет у меня проблемы при отладке проблем с памятью?
Примечание 1. Я вообще не взаимодействую с приложением при его использовании с инструментами.Он загружает контроллер представления, выполняет асинхронный вызов службы, который возвращает результаты, которые затем заполняются в два табличных представления.Не так много, чтобы освободить, так как объекты все еще требуются.
Примечание 2: Здесь приведен фрагмент списка объектов LIVE из инструментов распределения (отсортированных по размеру в порядке убывания) при сбое приложения.Как видите, MYAPP на самом деле не главный нарушитель (казалось бы)
Size(bytes) Responsible Library Responsible Caller
131072 UIKit -[UIView(Internal) _subclassImplementsDrawRect]
45056 CoreGraphics zone_malloc
16384 libCGFreetype.A.dylib ft_allocate
11264 Foundation NSPopAutoreleasePool
8192 libCGFreetype.A.dylib ft_allocate
8192 Foundation NSLogv
7680 libCGFreetype.A.dylib ft_allocate
7680 libCGFreetype.A.dylib ft_allocate
7680 CoreGraphics argb32_mark_constmask
5120 CoreGraphics CGDataProviderCreateWithCopyOfData
4608 libCGFreetype.A.dylib ft_allocate
4608 libCGFreetype.A.dylib ft_allocate
4608 libCGFreetype.A.dylib ft_allocate
4096 libSystem.B.dylib __stack_chk_fail
4096 QuartzCore CA::Transaction::create()
4096 Foundation NSPushAutoreleasePool
4096 MYAPP -[CJSONScanner scanNotQuoteCharactersIntoString:]
Спасибо