Я хотел бы обрабатывать ошибки нехватки памяти в iPhone, чтобы выполнять логику с меньшими требованиями к памяти в случае, если я запускаю память. В частности, я хотел бы сделать что-то очень похожее на следующий псевдокод:
UIImage* image;
try {
image = [UIImage imageNamed:@"high_quality_image.png"];
} catch (OutOfMemoryException e) {
image = [UIImage imageNamed:@"low_quality_image.jpg"];
}
Сначала я пытаюсь загрузить изображение высокого качества, и если при этом у меня заканчивается память, я использую изображение более низкого качества.
Возможно ли это? Есть ли какое-то исключение или уведомление, которое можно обработать при возникновении ошибки нехватки памяти?
Предупреждение о нехватке памяти — это не то, что мне нужно, так как оно получено до того, как в телефоне заканчивается память. Я хотел бы знать, не сработала ли логика, которую я выполняю, из-за ошибки нехватки памяти, и справиться с этим соответствующим образом.
Кроме того, что-то вроде этого также может помочь:
UIImage* image;
if (enoughMemory) {
image = [UIImage imageNamed:@"high_quality_image.png"];
} else {
image = [UIImage imageNamed:@"low_quality_image.jpg"];
}