2013-02-25 1 views
-1

Я показываю некоторый вид предупреждения, как операция Дон, а затем после/ниже, что я вызываю метод для чтения изображений активов Lib из библиотеки libraray из iphone, как в потоке Backgroung. Обработчик завершения чтения изображений находится в том же fx, который работает в фоновом потоке (Im печатает значение Bool с fx isMainThread). Когда элемент управления находится внутри блока завершения считываемых изображений, он начинает выполнение кода в основном потоке. Почему так? Исключительные блоки выполняются в фоновом потоке или основном потоке.Блок завершения для библиотеки активов, прочитанный с фоновой темой

IMP: Блокировка этого завершения завершается в основном потоке только один раз или при запуске приложения при первом нажатии на операцию, он не будет блокировать интерфейс после первой операции.

+0

Вы уверены, что в первый раз вы не вызываете функцию из основного потока? – jjv360

+0

Фактически функция, которую я вызываю в фоновом режиме. Он всегда находится в фоновом потоке. Внутри тела fx я написал блок блокировки, чтобы прочитать оценки. когда первый раз элементы управления входят в блок завершения, он находится в основном потоке для всех объектов изображения/видео, и для дальнейшего выполнения нет фонового потока. Но когда второй раз он вводит/исполняет тот же код для тех же условий, он отлично работает. Я отлаживал эту проблему, вызывая метод isOnMainThread. Он возвращает мне статус потоков. – iDevAmit

ответ

0

Я решил проблему. На самом деле нет проблем с моим кодом. Проблема, о которой я говорил выше, относится только к устройствам джейлбрейка. Другие новейшие устройства, код работает нормально.