2013-05-21 3 views
2

Я реализую пользовательский элемент управления для представления изображений, и этот элемент управления использует массив для хранения либо объекта , либо NSString. Я хочу реализовать такой механизм: если использование памяти будет высоким, элемент управления напишет некоторые большие объекты UIImage в файлы, а затем заменит объекты UIImage на соответствующий путь к файлам (NSString объектов).Измерение использования памяти массивом UIImage

Итак, вопрос только в том, как измерить использование памяти UIImage? Благодаря!

+1

Это, как правило, неправильный подход для этого высокого уровня абстракции ('UIImage'). 'UIImage' может выполнять кэширование и очистку в сценариях с низкой памятью - все без вашего вмешательства. лучше загружать только то, что вам действительно нужно, и использовать представления соответствующего размера. вы можете быть поражены тем, как мало изображений, которые действительно нужны приложениям в памяти, и сколько приложений загружается в память сразу. – justin

+1

Спасибо за ваше объяснение, теперь я знаю, как справиться с этим делом. – Hang

ответ

0

Всякий раз, когда ваш код использует часть памяти, которая создает проблему для ios, он вызывает метод - (void)didReceiveMemoryWarning. так что часть преобразования вам придется делать в этом методе.

+0

Спасибо! Но было бы слишком поздно для моего дела. Вы знаете, чтобы сохранить объект 'UIImage' в файл, нам нужно сначала перенести его в объект NSData, что очень сильно поглощает память, это может привести к сбою приложения при выполнении такой операции в' - (void) didReceiveMemoryWarning' – Hang

+0

hmm Ты прав.. –

Смежные вопросы