iPhone: Xcode, инструменти, разпределение на паметта. Какво е разумно?

Използвам инструменти, за да анализирам използването на паметта си в приложение за iPhone, което разработвам. Чудех се какъв е разумният размер на разпределението на паметта?

Когато получа информация за моята цел, трябва ли да поставя отметки в квадратчетата, за да игнорирам префиксите „NS“, „CF“ и „Malloc“ или не? Когато не ги игнорирам, получавам нещо, което изглежда като доста голяма стойност за общите байтове при стартиране от около 47MB, въпреки че живите байтове са само около 6MB. Когато игнорирам префиксите, ще получа около 1MB като цяло и 350KB на живо. Каква би била добра причина да игнорирате или да не игнорирате префиксите? Каква е разликата тук между общите и живите байтове?

И накрая, по какви начини мога да намаля отпечатъка на паметта на моето приложение, ако е необходимо?


person john    schedule 10.06.2011    source източник


Отговори (1)


Квадратчетата за отметка за игнориране на NS, CF или Malloc просто ви позволяват да филтрирате до различни подмножества от общите разпределения. Дали ще ги проверите зависи от това какво търсите. Очевидно оставянето на всички без отметка ви дава най-изчерпателния изглед, но ако търсите нещо конкретно, може да искате да игнорирате другите категории.

Данните „На живо“ са това, което не е публикувано, докато „общо“ е всичко, което някога сте разпределили, дори и да е било публикувано.

Имайте предвид, че инструментът "Разпределения" ви дава само преглед на паметта, която сте използвали. Това е доста тясно. Вашето приложение използва памет за пряко и косвено и за други неща. В допълнение, фрагментацията на паметта може да доведе до това, че общото ви използване на паметта е много по-високо, отколкото изглежда в инструмента за разпределение, тъй като паметта се предоставя в 4k страници от операционната система.

Трябва да използвате инструмента VM Tracker, за да видите общото използване на паметта на вашите приложения.

person Brent Marshall    schedule 27.06.2011