Motorola MC65 - Windows Mobile 6.5 убивает мое приложение после возобновления работы

Мое устройство MC65 Windows Mobile 6.5 убивает мое приложение .NET CF 3.5 после выхода из спящего режима. Приложение работает нормально, устройство переходит в спящий режим или я нажимаю кнопку питания. Затем я снова нажимаю кнопку питания, устройство просыпается, но мое приложение больше не отображается на экране, а не в диспетчере задач. Я не могу найти никаких журналов в моем журнале приложений, никаких исключений и т. Д. Windows Mobile каким-то образом убивает без каких-либо следов приложения, которые используют много ресурсов? Наблюдаю, что если подключить устройство к зарядному устройству, такой ситуации не будет.

В чем может быть причина? Как это предотвратить?


person cubesoft    schedule 20.02.2015    source источник
comment
Ваше приложение выполняет какие-либо операции ввода-вывода на SD-карту?   -  person Peter van der Heijden    schedule 20.02.2015
comment
Ну да. Само приложение устанавливается на SD-карту и записывает на нее файлы логов.   -  person cubesoft    schedule 20.02.2015
comment
Возможно, SD-карта отключается, когда устройство переходит в спящий режим. Вы можете попробовать, продолжит ли ваше приложение работать, если вы запустите его из файловой системы флеш-памяти, а также сделаете там журнал (или сделайте его устойчивым к исчезающей файловой системе)   -  person Peter van der Heijden    schedule 20.02.2015


Ответы (2)


Хотя Windows Mobile может убивать приложения, если ресурсы становятся низкими и приложение не реагирует на сообщения WM_HIBERNATE, это не будет причиной вашей текущей настройки.

Приложение исчезнет с экрана, если оно будет свернуто / скрыто. Это также может произойти, если другое приложение выходит на передний план и закрывается позже. Затем стек окон изменяется, и ваше приложение больше не находится на переднем плане.

Приложение может аварийно завершить работу в цикле приостановки / возобновления, если оно обращается к ресурсам, которые будут приостановлены, когда устройство перейдет в состояние приостановки. Эти ресурсы могут быть сетевыми соединениями или ресурсами тома (хранилища). То, что приостанавливается во время приостановки, зависит от настроек управления питанием. Сеть может быть приостановлена ​​для экономии энергии или смонтированный том (карта памяти) может быть выгружен (хотя это не должно относиться к реальным устройствам).

Таким образом, либо ваше приложение использует сетевое соединение, которое приостановлено, и ваше приложение не устойчиво к изменениям в сети, либо, как указано в примечаниях, устройство выгружает драйвер карты памяти во время приостановки / возобновления. Для последующего использования либо переместите приложение в хранилище устройства, либо обратитесь к поставщику за другим профилем управления питанием, в котором внешнее хранилище сохраняется во время приостановки / возобновления.

person josef    schedule 21.02.2015

Это приводит к тому, что ваше приложение и поддерживаемые им файлы могут находиться на карте памяти. Переместите приложение и все файлы в другое хранилище, например, в папку приложения. Для получения более подробной информации перейдите по ссылке: https://social.msdn.microsoft.com/Forums/en-US/f0fc4eae-dcaa-402d-b76f-5d737d3a4267/wm-65-app-crashs-when-кнопкапитаниябыланажатадважды,чтобывключитьдисплей?forum=windowsmobiledev

person Imtiyaz Abdul Qadar    schedule 23.06.2015