Функция подсчёта занимаемой приложением оперативной памяти на Swift

{lang: 'ru'}

Это мини-пост, напоминалка для самого себя о реализации такой важной и полезной в iOS разработке при дебаге функции, как подсчёт оперативной памяти, которую в данный момент занимает ваше приложение. Она очень хорошо помогает, когда нужно точно сказать, после вызова какой функции происходит скачок потребления RAM, но использование инструментов (Instruments) по каким-то причинам затруднено. Например, для меня сейчас эта функция – единственное спасение, потому что встроенные инструменты профилирования просто крэшатся при попытке их запустить.

Но, ближе к делу. Вот та самая функция подсчёта оперативной памяти, написанная на Swift 2.3:

Чтобы это всё заработало с новым Swift 3.0, нужно внести несколько изменений:

Для любителей истории или для тех, кто не может себе позволить роскошь использовать Swift, вот версия на старом-добром Objective-C (который в этом примере скорее С, чем Objective):


У себя в проекте я объявил эту функцию статической в AppDelegate и просто вызываю её “через точку”. Я не стал приводить её название к принятому в iOS lowerCamelCase , чтобы лишний раз подчеркнуть её “служебность” и изначально “сишную” природу.


По материалам stackoverflow [0] и [1]


Полезная статья? Их будет больше, если вы поддержите меня!