2010-03-02 3 views
0

Я тестирую свое приложение на двух разных устройствах. Мое приложение сильно опирается на изображения (выделение и освобождение). Я знаю, что у меня есть утечка, но мне просто интересно, почему я это наблюдаю.Проверка распределения памяти между двумя устройствами

Поведение между двумя устройствами различно. Устройство A падает после 4 циклов переключения между видами и устройством B после 10 циклов, пока Устройство A имеет более свободную память, чем устройства B.

   Device A:    Device B: 
Type   iPhone 3G 16GB   iPhone 3G 8GB 
Capacity  14.64GB     7.08GB 
Audio  5.32GB     1.18GB 
Video  48.8GB     - 
Photos  267.3GB     46.8GB 
Apps   1.08GB     505.5MB 
Other  343.9MB     370.7MB 

Free   7.60GB     5.0GB 

Любые идеи, почему это так?

ответ

4

Я не уверен, правильно ли я это понял, но цифры в последней строке (7,6/5 ГБ) относятся к доступной флэш-памяти, а не к ОЗУ. Поэтому они ничего не говорят о ожидаемой производительности приложения, интенсивно использующего память. Ни объем бесплатной ОЗУ точно не говорит, потому что система начнет убивать большие приложения, когда памяти недостаточно, и объем свободной памяти будет расти.

+0

Я полагал, что оперативная память во всех iPhone 3G составляет 128 МБ (3GS 256 МБ). Поэтому я решил это как фактор. В iphone нет многозадачности. Итак, если iPhone работает только с одним приложением, почему производительность должна отличаться в двух устройствах той же ОЗУ? – erastusnjuki

+0

Да. Цифры в последней строке представляют собой память на жестком диске. Есть ли способ проверить RAM? – erastusnjuki

+0

Да, Инструменты - ваш друг. См. Раздел «Выполнить» → «Выполнить с помощью инструмента производительности» → «Распределение объектов» и другие. Существует также инструмент «Утечки», который может помочь вам найти утечки. – zoul

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