Может кто-нибудь объяснить, для чего этот метод PowerManager.Wakelock?Wakelock Номер ссылки
"Услуга блокировки подсчет ссылок по умолчанию." - Зачем?
Может кто-нибудь объяснить, для чего этот метод PowerManager.Wakelock?Wakelock Номер ссылки
"Услуга блокировки подсчет ссылок по умолчанию." - Зачем?
Потому что во многих случаях очень удобно использовать их для подсчета ссылок.
Взять WakefulIntentService
в качестве примера. Мне нужно организовать услугу, чтобы устройство просыпалось достаточно долго, чтобы выполнять любую работу, но, как только работа будет завершена, устройство может засыпать. Самый простой способ сделать это - использовать подсчет WakeLock
, поэтому мы набираем количество ссылок для каждой части работы и уменьшаем счетчик ссылок, когда работа выполнена. Когда количество ссылок достигает нуля, Android выпускает WakeLock
, и устройство может засыпать.
Возможны сценарии, в которых полезно использовать не ссылочный WakeLock
, хотя у меня нет примера этого в готовом виде.
Это отвечает на мой вопрос. Благодаря! – cody
Как мы можем увеличивать/уменьшать значение счетчика ссылок? –
@PareshMayani: он увеличивается, когда вы 'приобретаете()' it и декрементируете, когда вы 'release()' it. – CommonsWare
В этом отношении была обнаружена ошибка ... Надежда ур не единственная, кто поднимает этот вопрос http://code.google.com/p/android/issues/detail?id=5958 – DeRagan
Хорошо. Поэтому для каждого выпуска, который вы делаете на замке, вы должны были получить его раньше, чтобы не получить исключения. Я могу жить с этим :) спасибо за этот совет. – cody