2013-03-26 3 views
0

Мое приложение принимает NSData объектов фильма и отправляет его по сети. Проблема в том, что если видео достаточно велико, я беспокоюсь, что мое приложение будет разбиваться из-за того, что в памяти столько данных. Есть ли способ проверить пределы используемого iPhone, поэтому я могу остановить его передачу видео большего размера?Узнайте, сколько памяти у iPhone?

ответ

0

Даже если вы обнаружите объем доступной памяти на текущем устройстве, система начнет убивать приложения задолго до того, как вы выделите половину этой суммы. Не можете ли вы просто выбрать разумный размер безопасного блока и отправить видео в куски?

+0

Я только рассматривал этот вариант. Что вы считаете разумным размером безопасного блока? 20mb слишком много? – Andrew

+0

Я бы выбрал наименьший размер, который не замедляет передачу. Вероятно, начните около 1 МБ и посмотрите, как это происходит. – zoul

2

Ваше приложение получит предупреждение о памяти, когда оно использует слишком много памяти. Это ваш единственный способ узнать. Контроллер вида получит вызванный метод didReceiveMemoryWarning. Также будет поднято событие UIApplicationDidReceiveMemoryWarningNotification.

1

Я не думаю, что его право определяет предел на основе памяти, доступной в устройстве. Я бы предложил вам загрузить файл с диска. ASIHTTP имеет возможность передавать файл с диска. Это решит вашу проблему с памятью.

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