Windows Phone Mango - проблема с ограничением памяти (6 МБ) - PullRequest
2 голосов
/ 08 сентября 2011

Согласно документации , фоновая задача не может использовать более 6 МБ памяти.Я запустил фоновое задание без кода следующим образом:

protected override void OnInvoke(ScheduledTask task)
{
    Debug.WriteLine("Available Memory: " + (DeviceStatus.ApplicationMemoryUsageLimit - DeviceStatus.ApplicationCurrentMemoryUsage).ToString());
    Debug.WriteLine("Peak Memory: " + DeviceStatus.ApplicationPeakMemoryUsage.ToString());
    NotifyComplete();
}

Код не содержит никакой логики.Просто записываю в окно вывода информацию о доступной памяти.

Ниже приводится вывод следующего:

Доступная память: 1863680
Пиковая память: 4435968

Что мне интереснобез записи какого-либо кода или выделения памяти для объекта, как используются мои 4435968 байт памяти? Если 4435968 байтов используются без написания кода, что я смогу сделать с оставшимися 1863680 байтами?

1 Ответ

2 голосов
/ 08 сентября 2011

Следует учитывать, что фоновый агент - это отдельный фрагмент кода, который на 100% отделен от остальной части вашего приложения.

Так что, когда вы не тестируете его в режиме отладки, где приложениена самом деле работает, он не будет использовать ~ 4 МБ памяти.

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

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