Как приложения «очиститель памяти» могут определять объем используемой памяти на iOS? - PullRequest
3 голосов
/ 08 ноября 2011

Время от времени приложения «очистки памяти» всплывают на верхнюю строчку графиков загрузки в iOS AppStore, но я всегда удивлен: как эти приложения могут определить, сколько памяти используется, когда они помещены в «песочницу» и не могутдоступ к какой-либо памяти вне их процесса?Я не эксперт в распределении памяти на C, поэтому, возможно, решение очевидно, и я просто не знаю его, но мне любопытно, как это работает / может работать.

Очевидно, второй вопросКак они очищают память, когда у них есть счетчик? Я предполагаю, что они просто выделяют тонну тяжелых объектов (например, изображений) и таким образом заставляют ОС завершать другие процессы.И все же, может быть, есть более разумный способ?

Обратите внимание, я не говорю о Cydia, эти приложения доступны в обычном AppStore и работают на устройствах без взлома с официального согласия Apple.В качестве примера, вот текущий топ-продавец: http://iputzfrau.professional -apps.at /

Ответы [ 3 ]

3 голосов
/ 08 ноября 2011

Функции Mach / BSD host_statistics и sysctl доступны в iOS и предоставляют доступ к системной статистике, такой как объем физической памяти, скорость процессора и, действительно, объем доступной свободной памяти.Чтобы получить последнее, вам нужно позвонить host_statistics с HOST_VM_INFO и посмотреть на free_count в структуре, которую он заполняет для вас.Обратите внимание, что это значение не обязательно полезно для каких-либо реальных целей.Возможно, вам это не понадобится, если вы не хотите писать еще одно из этих мошеннических приложений.

Низкоуровневые функции на уровне C / UNIX / Mach / BSD обычно доступны для использования в приложениях iOS, хотяэти API обычно не описаны в документации SDK.Посмотрите на заголовки в /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/usr/include/ и обратитесь к справочным страницам Mac OS, стандартным документам C / UNIX или Mac SDK для получения более подробной информации о них.

3 голосов
/ 08 ноября 2011

Эти приложения, как и приложения «отслеживание любого сотового телефона», которые «только для развлекательных целей» скрыты в строке 30,239 описания, являются мошенничеством.Очень расстраивает то, что Apple пропускает их через процесс рецензирования.

0 голосов
/ 08 ноября 2011

Вы правы - нет общедоступного API, который позволил бы приложению, подобному тому, на которое вы ссылались, делать то, что, как он заявляет, делает.

Это было бы отличным вопросом для Apple или, по крайней мере, для публикации на форумах разработчиков Apple. Вы также можете сообщить об ошибке , возможно, самый эффективный способ зарегистрировать жалобу, не выбивая себя из колеи.

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