如何查看哪些唤醒锁处于活动状态
|
由于某种原因,我的Android手机无法进入睡眠状态。我假设唤醒锁使它保持唤醒状态,但是无法确定哪个唤醒锁处于活动状态。正在运行的服务不会列出任何可疑的内容,并且肯定与平常没有什么不同。所以我的问题是:
进程结束时,Android是否肯定会释放唤醒锁?是否有可能某个应用的编写错误并且在退出前没有释放唤醒锁?
有什么办法可以看到活动的唤醒锁吗?
这是ѭ0显示的内容:
$ dumpsys power
Power Manager State:
mIsPowered=true mPowerState=0 mScreenOffTime=226093 ms
mPartialCount=0
mWakeLockState=
mUserState=
mPowerState=
mLocks.gather=
mNextTimeout=91922738 now=92136117 -213s from now
mDimScreen=true mStayOnConditions=0
mScreenOffReason=3 mUserState=0
mBroadcastQueue={-1,-1,-1}
mBroadcastWhy={0,0,0}
mPokey=1 mPokeAwakeonSet=false
mKeyboardVisible=false mUserActivityAllowed=false
mKeylightDelay=6000 mDimDelay=47000 mScreenOffDelay=7000
mPreventScreenOn=false mScreenBrightnessOverride=-1 mButtonBrightnessOverride=-1
mScreenOffTimeoutSetting=60000 mMaximumScreenOffTimeout=2147483647
mLastScreenOnTime=0
mBroadcastWakeLock=UnsynchronizedWakeLock(mFlags=0x1 mCount=0 mHeld=false)
mStayOnWhilePluggedInScreenDimLock=UnsynchronizedWakeLock(mFlags=0x6 mCount=0 mHeld=false)
mStayOnWhilePluggedInPartialLock=UnsynchronizedWakeLock(mFlags=0x1 mCount=0 mHeld=false)
mPreventScreenOnPartialLock=UnsynchronizedWakeLock(mFlags=0x1 mCount=0 mHeld=false)
mProximityPartialLock=UnsynchronizedWakeLock(mFlags=0x1 mCount=0 mHeld=false)
mProximityWakeLockCount=0
mProximitySensorEnabled=false
mProximitySensorActive=false
mProximityPendingValue=-1
mLastProximityEventTime=0
mLightSensorEnabled=false
mLightSensorValue=-1.0 mLightSensorPendingValue=-1.0
mLightSensorScreenBrightness=35 mLightSensorButtonBrightness=255 mLightSensorKeyboardBrightness=0
mUseSoftwareAutoBrightness=true
mAutoBrightessEnabled=false
mScreenBrightness: animating=false targetValue=-1 curValue=0.0 delta=-1.3333334
mLocks.size=0:
mPokeLocks.size=1:
poke lock \'PhoneApp\': POKE_LOCK_IGNORE_CHEEK_EVENTS
没有找到相关结果
已邀请:
8 个回复
屠创氓读叔
浮凰量
然后,您可以使用以下命令来查看此锁是否处于活动状态。您会看到时间列不断变化,这意味着唤醒锁处于活动状态
现在,使用此adb命令释放唤醒锁
然后,再次检查它,时间列将冻结,这意味着唤醒锁未激活
您可以使用相同的技术来观察您在代码中获得的唤醒锁。
号拳藐孔妇
。
矾醒忻
亲奋漏
厢界山攀
摊揉售
壬驴拿歪竞