当前位置: 首页 > news >正文

网站建设全包哪家便宜怎么在网站上做按钮

网站建设全包哪家便宜,怎么在网站上做按钮,水泥公司网站建设,北京出啥大事了今天一、休眠唤醒,很快熄屏 1.1 问题描述 机器休眠唤醒后,没有按照约定的熄屏timeout 进行熄屏,很快就熄屏(约2s~3s左右) 1.2 原因分析: 抓取相关log,打印休眠背光 相关调用栈 //具体打印调用栈…

一、休眠唤醒,很快熄屏

1.1 问题描述

机器休眠唤醒后,没有按照约定的熄屏timeout 进行熄屏,很快就熄屏(约2s~3s左右)

1.2 原因分析:

抓取相关log,打印休眠背光 相关调用栈

//具体打印调用栈直接从网上找即可,这里checkout了,就随便贴一个
//在frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java的isBeingKeptAwakeLocked 函数里 加入如下
Log.e("TAG", Log.getStackTraceString(new Exception("Stack trace")));

根据打印调用栈 对比正常情况,可以得知多出如下打印

java.lang.Throwableat com.android.server.power.PowerManagerService.isBeingKeptAwakeLocked(PowerManagerService.java:2909)at com.android.server.power.PowerManagerService.isItBedTimeYetLocked(PowerManagerService.java:2887)at com.android.server.power.PowerManagerService.updateWakefulnessLocked(PowerManagerService.java:2843)at com.android.server.power.PowerManagerService.updatePowerStateLocked(PowerManagerService.java:2152)at com.android.server.power.PowerManagerService.userActivityInternal(PowerManagerService.java:1698)at com.android.server.power.PowerManagerService.onFlip(PowerManagerService.java:1086)at com.android.server.power.PowerManagerService.$r8$lambda$q7dp6tNnllSjuO6t2c5KypV49H8(Unknown Source:0)at com.android.server.power.PowerManagerService$$ExternalSyntheticLambda1.accept(Unknown Source:8)at com.android.server.power.FaceDownDetector.faceDownDetected(FaceDownDetector.java:297)at com.android.server.power.FaceDownDetector.onSensorChanged(FaceDownDetector.java:284)at android.hardware.SystemSensorManager$SensorEventQueue.dispatchSensorEvent(SystemSensorManager.java:886)at android.os.MessageQueue.nativePollOnce(Native Method)at android.os.MessageQueue.next(MessageQueue.java:335)at android.os.Looper.loopOnce(Looper.java:161)at android.os.Looper.loop(Looper.java:288)at com.android.server.SystemServer.run(SystemServer.java:922)at com.android.server.SystemServer.main(SystemServer.java:618)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:568)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1023)

排查onSensorChanged中的faceDownDetected

    @Overridepublic void onSensorChanged(SensorEvent event) {if (event.sensor.getType() != Sensor.TYPE_ACCELEROMETER) return;if (!mActive || !mIsEnabled) return;final float x = event.values[0];final float y = event.values[1];mCurrentXYAcceleration.updateMovingAverage(x * x + y * y);mCurrentZAcceleration.updateMovingAverage(event.values[2]);// Detect movement// If the x, y acceleration is within the acc threshold for at least a length of time longer// than the time threshold, we set moving to true.final long curTime = event.timestamp;if (Math.abs(mCurrentXYAcceleration.mMovingAverage - mPrevAcceleration)> mAccelerationThreshold) {mPrevAcceleration = mCurrentXYAcceleration.mMovingAverage;mPrevAccelerationTime = curTime;}final boolean moving = curTime - mPrevAccelerationTime <= mTimeThreshold.toNanos();// If the z acceleration is beyond the gravity/z-acceleration threshold for at least a// length of time longer than the time threshold, we set isFaceDownForPeriod to true.final float zAccelerationThreshold =mFaceDown ? mZAccelerationThresholdLenient : mZAccelerationThreshold;final boolean isCurrentlyFaceDown =mCurrentZAcceleration.mMovingAverage < zAccelerationThreshold;final boolean isFaceDownForPeriod = isCurrentlyFaceDown&& mZAccelerationIsFaceDown&& curTime - mZAccelerationFaceDownTime > mTimeThreshold.toNanos();if (isCurrentlyFaceDown && !mZAccelerationIsFaceDown) {mZAccelerationFaceDownTime = curTime;mZAccelerationIsFaceDown = true;} else if (!isCurrentlyFaceDown) {mZAccelerationIsFaceDown = false;}if (!moving && isFaceDownForPeriod && !mFaceDown) {//已知是这个导致的,把这个func注释后,现象就消失了.//关注原因,是因为G-sensor导致的,关注到调试时,板子并非按整机方式进行放置,x、y会出现问题,//最终导致执行了faceDownDetected,因而导致了亮屏后快速熄屏。faceDownDetected();} else if (!isFaceDownForPeriod && mFaceDown) {unFlipDetected();}}

1.3 解决方案:

如1.2中所述,如果G-sensor 方向不正确,有可能会导致该问题,建议调整/校准g-sensor,而不是修改framework中的代码。

http://www.dtcms.com/a/431743.html

相关文章:

  • 永州网站建设哪家好中信建设有限责任公司深圳中信金融中心项目工期专业招标
  • 八年级信息网站怎么做网站设计的价格
  • OSPF Init 状态 概念及题目
  • 事件相关电位(Event-Related Potential,ERP)
  • 运营一个网站的成本wordpress 网站小模块
  • 怀化市建设局网站地址wordpress建什么站
  • 网站域名解析怎么做wordpress筛选最新文章
  • 【知识科普】JSON数据格式详细介绍
  • wordpress站酷首页wordpress引用jquery
  • 深度学习中的池化(Pooling)技术:原理、实现与应用
  • 手机响应式网站建设公司做电商必须知道的网站
  • Linux任务上下文切换context_switch函数的实现
  • 移动网站开发教学大纲安装wordpress 000
  • 《小米 17:创新与争议并存的科技新品》
  • thinkphp怎么做网站壹六八信息科技网站建设
  • 网站建站企业wex5 后端实现全网站开发
  • leetcode 47 全排列II
  • 注册公司是在哪个网站有哪些做普洱茶网站的
  • Vscode安装Element ui
  • Unity游戏基础-1(安装~工作区构建)
  • 超声波测距
  • 公司网站建设收费惠州市网站建设
  • 彩票的网站怎么做的太原关键词优化软件
  • 做的网站需要什么技术wordpress好用的编辑器插件
  • 数字信号处理 第一章(离散时间信号与系统)【上】
  • 【视觉】使用 mediamtx 怎么支持多个rtsp播放
  • 懂得网站推广东莞市建设安监局网站首页
  • 数据结构与算法9:查找
  • 免杀技术中的shell之 webshell shellcode
  • 网站的系统帮助免费下载教学设计的网站