Контролировать использование памяти в приложении для iPhone? - PullRequest
19 голосов
/ 02 января 2011

Можно ли отслеживать объем памяти, который потребляет ваше приложение?

Ответы [ 6 ]

27 голосов
/ 03 января 2011

На самом деле, вероятно, более важно знать, сколько свободной памяти, а не то, сколько использует ваше приложение. Вот код для этого:

#import <mach/mach.h>
#import <mach/mach_host.h>

+(natural_t) get_free_memory {
    mach_port_t host_port;
    mach_msg_type_number_t host_size;
    vm_size_t pagesize;
    host_port = mach_host_self();
    host_size = sizeof(vm_statistics_data_t) / sizeof(integer_t);
    host_page_size(host_port, &pagesize);
    vm_statistics_data_t vm_stat;

    if (host_statistics(host_port, HOST_VM_INFO, (host_info_t)&vm_stat, &host_size) != KERN_SUCCESS) {
        NSLog(@"Failed to fetch vm statistics");
        return 0;
    }

    /* Stats in bytes */
    natural_t mem_free = vm_stat.free_count * pagesize;
    return mem_free;
}
14 голосов
/ 02 января 2011

Да. В XCode откройте свой проект и выберите Выполнить > Запустить с Performance Tool > Распределение . Это запустит приложение под названием Instruments, которое можно использовать для анализа вашего приложения. В этом конкретном случае он будет записывать все распределения объектов, что дает вам хороший обзор вашей памяти. Вы можете использовать это как с симулятором iOS, так и с реальным устройством. Вы должны предпочесть проанализировать приложение во время работы на устройстве iOS, чтобы получить оптимальные результаты.

Инструменты могут сделать намного больше, чтобы помочь вам оптимизировать ваши приложения, поэтому вам следует внимательно ознакомиться с Руководством пользователя .

3 голосов
/ 02 января 2011

Вы можете использовать инструменты. Предоставляется iOS SDK.
С устройством точнее, чем с симулятором ...

Запустите его, выберите тип мониторинга (распределение, утечки, монитор активности), выберите процесс и цель для мониторинга, а затем нажмите кнопку записи.
Нажав на эту кнопку, приложение откроется само собой.

Когда вы закончите, нажмите кнопку остановки, чтобы остановить мониторинг.

Вы можете найти больше информации об этой программе здесь: Об инструментах

2 голосов
/ 27 ноября 2013

вы можете проверить с помощью этого URL: https://github.com/andrealufino/ALSystemUtilities/blob/develop/ALSystemUtilities/ALSystemUtilities/ALDisk/ALDisk.m это работает нормально.

1 голос
/ 12 сентября 2015

Вы можете проверить свою текущую память здесь. Не буду подробно рассказывать о том, что потребляет, но о хорошем общем объеме памяти.

enter image description here

1 голос
/ 02 января 2011

Если у вас есть учетная запись разработчика Apple, проверьте текущую WWDC об инструментах и ​​оптимизации памяти на ios. Это действительно стоит посмотреть, если вы, чтобы быстро понять, как работают инструменты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...