Разработка приложений, учитывающих энергопотребление - PullRequest
3 голосов
/ 05 июня 2009

Во-первых, пожалуйста, не переходите к ошибке сервера. Это действительно вопрос программирования: -)

Мы разрабатываем иногда подключенные приложения. Эти приложения находятся на ноутбуке и портативных устройствах. В моем случае приложение запускается в небольшом контейнере с сервлетами (например, пристань).

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

Являются ли такие вещи особенностью самой ОС или такое понимание мощности может быть встроено в приложение? Если это можно встроить в приложение, то как?

1 Ответ

2 голосов
/ 05 июня 2009

Каждая ОС предоставляет набор API и уведомлений, которые вы можете использовать и подписаться соответствующим образом. Например, Windows отправляет сообщение WM_POWERBROADCAST всем окнам до того, как произойдет событие питания. Подробнее об этом читайте в разделе Управление питанием на MSDN.

Однако вам нужны мощные функции в Java-приложении, которые потребуют от вас использовать какой-то мост JNI. Есть статья codeproject об обнаружении режима ожидания и отклонении запроса (хотя в Windows Vista / 7 больше невозможно запретить переходы питания).

...