MonoTouch UIImageView зависает в случайном порядке - PullRequest
0 голосов
/ 10 января 2012

У меня возникла проблема, из-за которой UIImageView иногда зависает, и мне нужно закрыть симулятор iPad и перезапустить.Проблема, которую я вижу, возникает только время от времени, и один и тот же код будет работать один раз, а не следующий.Путь к точке зависания всегда один и тот же, как это происходит вскоре после запуска приложения.Я еще не развернул приложение на iPad, поэтому я не знаю, является ли это проблемой после развертывания, однако это невероятно расстраивает.

Я загружаю изображение в UIImageView с диска, и изображение не менялось между запусками и т. Д., Но каждый раз, когда оно зависает, происходит сбой в одной и той же строке кода:

_imageView.Image = image;

Где "изображение" - это загруженное UIImage.

Трудно понять почему, у кого-нибудь есть идеи?

Ответы [ 2 ]

1 голос
/ 10 января 2012

Сложно понять почему, у кого-нибудь есть идеи?

Ошибки этого типа часто связаны с другими, предыдущими частями кода или , специфичными для вашей настройки (например, версии MonoTouch / iOS SDK и / или OSX).

Лучший способ исправить это или понять, почему он не работает, - это открыть отчет об ошибке на http://bugzilla.xamarin.com и прикрепить небольшой автономный тестовый пример, показывающий зависание даже если для его дублирования требуется несколько исполнений (просто объясните это в отчете об ошибке).

0 голосов
/ 13 января 2012

Мне удалось выяснить, в чем проблема. Это была тема моего собственного дизайна. Я использовал тег для каждого из моих представлений монитора активности, однако я использовал один и тот же тег для каждого монитора активности. Когда я удалил его, я проверял, существует ли представление, прежде чем удалить его, а затем удалить его. Эта проблема возникала, когда другой поток пытался удалить помеченное представление одновременно с тем, как другой поток пытался сделать то же самое, и это приводило к зависанию.

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

Davoc

...