iPhone Dev - почему он использует 8 МБ? - PullRequest
5 голосов
/ 05 октября 2009

Даже когда я просто использую шаблон приложения на основе Windows, который буквально ничего не делает, инструменты (монитор активности) говорят, что процесс моего приложения использует 8,14 МБ реальной памяти ! Даже с этим методом:

void report_memory(void) {
    struct task_basic_info info;
    mach_msg_type_number_t size = sizeof(info);
    kern_return_t kerr = task_info(mach_task_self(),
                                   TASK_BASIC_INFO,
                                   (task_info_t)&info,
                                   &size);
    if( kerr == KERN_SUCCESS ) {
        NSLog(@"Memory in use (in bytes): %u", info.resident_size);
    } else {
        NSLog(@"Error with task_info(): %s", mach_error_string(kerr));
    }
}

Это все еще ~ 8,14 МБ! Так что кажется, что инструменты - это правильно, но зачем UIWindow занимать столько памяти ??

1 Ответ

2 голосов
/ 18 октября 2009

Я полагаю, что все библиотеки занимают библиотеки времени выполнения Objective-C, а не ваши UIWindow. Тем не менее, все приложения используют копию этих библиотек, iPhone OS может быть достаточно умным, чтобы разделять эту память между всеми запущенными приложениями (хотя, конечно, только системные приложения могут работать в фон).

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