Список <> SIGSEGV на iPhone, но не на iPad в одно касании 5 - PullRequest
0 голосов
/ 19 октября 2011

У меня очень странная проблема с приложением, которое отлично работало в iOS 3/4.Необходимо предварительно загрузить LIST <> из базы данных SQLite, и каждый элемент содержит int32 и строку.

В этот список добавлено около 36 000 элементов.Он работал безупречно на iOS 3.2 и iOS 4.3.С выходом iOS 5 он продолжает работать безупречно на iPad, но SIGSEGV для добавления элемента - около 680 элементов в нем - но это варьируется между пунктами 650 и 690 - это не соответствует.XCode, моно, monotouch до 5 и т. Д. И перестроить приложение.Эта проблема по-прежнему сохраняется с ошибкой на iPhone, но в iPad 5 она очень прочная.

Что-то принципиально изменилось в доступе к памяти в iPhone по сравнению с iPad?Мне трудно поверить, что это проблема с одним касанием, так как она отлично работает на iPad.Любые предложения о том, как обойти это?

1 Ответ

0 голосов
/ 26 октября 2011

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

http://docs.xamarin.com/ios/troubleshooting?highlight=trampolines#Ran_out_of_trampolines_of_type_0

У меня возникла проблема, когда я использовал много обобщений и добавил

-aot "nimt-trampolines = 2048"

в настройке Дополнительные аргументы mtouch в настройках IPhone Build проекта решили эти проблемы для меня.Если вы добавите этот параметр, обязательно установите его для каждой конфигурации и платформы, которые вы настроили.

...