CGImageRead_mapData «открыть» не удалось ... error = 2 (нет такого файла или каталога) - PullRequest
1 голос
/ 25 мая 2011

Я реализовал приложение для iPhone с настраиваемой панелью вкладок. Изображения, используемые для выбранной / невыбранной вкладки, загружаются через UIImage imageNamed. Обычно это работает просто отлично, но иногда, что кажется случайным, одно из изображений исчезает, когда оно загружается и заменяется черным пустым пространством. При повторном нажатии изображение снова появляется.

Некоторые симптомы: - удалось воспроизвести только на iPhone 4 с 4.3. Никогда не было на 4.2 (а я тестировал столько же, сколько на 4.3). - Не удалось проверить на 3GS (более низкое разрешение) с 4.3. На 4.2 то же самое, что и выше, этого никогда не было.

Мне удалось получить распечатку с одного из случаев, когда это произошло, он дал мне ошибку, как указано здесь и в заголовке:

ImageIO: CGImageRead_mapData "открыть" не удалось "/ var / mobile / Applications / 7A76BCE5- ' ошибка = 2 (нет такого файла или каталога)

Все изображения вкладок инициируются так:

UIImageView *tab1ImageViewTemp = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, width, height)];

[tab1ImageViewTemp setImage:[UIImage imageNamed:@"bt_tab1"]];//imagem tab1
[self setTab1ImageView:tab1ImageViewTemp];
[self addSubview:tab1ImageView];
[tab1ImageViewTemp release];

и когда выбрано / не выбрано изменилось следующим образом:

[tab1ImageView setImage:[UIImage imageNamed:@"bt_tab1_over"]]; //when selected

[tab1ImageView setImage:[UIImage imageNamed:@"bt_tab1"]]; //when unselect

и UIImageView нормально высвобождается в dealloc.

Кто-то, кто имеет представление об этой ошибке ...?

1 Ответ

0 голосов
/ 07 февраля 2015

(Ответы в комментариях. Преобразован в вики-ответ сообщества. См. Вопрос без ответов, но проблема решена в комментариях (или расширена в чате) )

@ TheBlack писал:

У вас есть эти изображения в двух разрешениях, одно для сетчатки, одно для экранов с низким разрешением? Кроме того, существует ли возможность чего-то, что вызывает выбор / отмена выбора много раз за очень короткое время? В любом случае, загрузите изображения один раз с именем image или imageWithContentsOfFile и сохраните UIImages в переменных экземпляра.

ОП написал:

Хорошо, похоже, что решение выше решило проблему. Однако это не объясняло, почему это произошло. Я предполагаю, что это из-за недостатка памяти. Любые другие подсказки? Теперь еще из-за любопытства.

...