Wakelock Reference Count - PullRequest
       11

Wakelock Reference Count

0 голосов
/ 13 декабря 2010

Кто-нибудь может объяснить, для чего предназначен этот метод PowerManager.Wakelock?

setReferenceCounted

"Пробуждение блокируется по умолчанию." - почему?

1 Ответ

6 голосов
/ 13 декабря 2010

Потому что во многих случаях очень удобно, чтобы их подсчитывали.

Возьмите WakefulIntentService в качестве примера.Мне нужно договориться о том, чтобы служба оставляла устройство в активном состоянии достаточно долго, чтобы выполнять любую работу, отправляемую ему в путь, но как только работа будет завершена, устройство может снова заснуть.Самый простой способ сделать это - использовать счетчик ссылок WakeLock, поэтому мы увеличиваем счетчик ссылок для каждой части работы и уменьшаем счетчик ссылок, когда работа выполнена.Когда счетчик ссылок достигает нуля, Android выпускает WakeLock, и устройство может засыпать.

Вполне возможны сценарии, в которых было бы полезно 10101 * без учета ссылок, хотя я неесть пример этого наготове.

...