creator2.2.0打包Android平台,AudioMix partial wake locks长时间未释放

  • Creator 版本:2.2.0

  • 目标平台: Android


  • 详细报错信息,包含调用堆栈:

打开游戏,触发音效,切到后台,过滤"wake lock"的信息:

2020-01-05 11:34:44.271 1519-1598/? I/PowerManagerService: [PWL] PARTIAL_WAKE_LOCK ‘AudioMix’ ACQ=-10m21s276ms LONG (uid=1041 ws=WorkSource{10896})

2020-01-05 11:35:44.565 1519-1796/? I/BarTender:ANALYZERWAKELOCK: MSG_TYPE_WAKELOCK_FIND_ABUSIVE: abusive found:tag=AudioMix packageName=audioserver uid=1041, pid=0, ws=WorkSource{10896} mPolicy=1 acquireTimeTotal=681568 reason=Audio wakelock is held but no music or recording com.xxx.xxx(手动隐藏) count=1 ctgr=Audio state=PER

2020-01-05 11:35:44.569 1519-1796/? I/BarTender:ANALYZERBATTSTATS: Observer from Controller - type: wlock list:[com.xxx.xxx(手动隐藏),tag=AudioMix packageName=audioserver uid=1041, pid=0, ws=WorkSource{10896} mPolicy=1 acquireTimeTotal=681568 reason=Audio wakelock is held but no music or recording com.xxx.xxx(手动隐藏) count=1 ctgr=Audio state=PER]

2020-01-05 11:36:04.274 1519-1598/? I/PowerManagerService: [PWL] PARTIAL_WAKE_LOCK ‘AudioMix’ ACQ=-11m41s278ms LONG (uid=1041 ws=WorkSource{10896})

2020-01-05 11:37:29.300 1519-1598/? I/PowerManagerService: [PWL] PARTIAL_WAKE_LOCK ‘AudioMix’ ACQ=-13m6s305ms LONG (uid=1041 ws=WorkSource{10896})

2020-01-05 11:38:59.312 1519-1598/? I/PowerManagerService: [PWL] PARTIAL_WAKE_LOCK ‘AudioMix’ ACQ=-14m36s317ms LONG (uid=1041 ws=WorkSource{10896})


  • 重现方式:
    由于demo包体过大,所以直接丢在github仓库上了,还麻烦下载一下,
    github仓库地址: https://github.com/w1365988550/wake-log-demo

       1. 手机开启USB调试;
       2. 安装demo.apk;
       3. 打开游戏,点击按钮播放音效,切到后台即可;
       4. cmd执行adb shell dumpsys power --charged 搜索wake lock,可以看到一个关于'AudioMix'的PARTIAL_WAKE_LOCK长期没有被释放。
    

  • 之前哪个版本是正常的 :无。首次使用2.2.0打包,未使用过其他版本。

  • 出现概率:demo必现。


  • 额外线索:

该问题最早在google play console中Android vitals被统计到,超过0.1%的出现阈值就会提示存在Stuck partial wake locks (background)的不良行为,直接影响在应用的搜索排名,如图

cocos2dx论坛中有类似发帖,但并未解决问题:
http://discuss.cocos2d-x.org/t/audiomix-anr-issue/42867/20
https://github.com/cocos2d/cocos2d-x/pull/19005

android官方文档:
https://developer.android.com/topic/performance/vitals/wakelock.html
https://source.android.com/devices/tech/debug/dumpsys

人工顶贴。

@jare 大神帮忙看一下:creator2.2.0打包Android平台,AudioMix partial wake locks长时间未释放 creator2.2.0打包Android平台,AudioMix partial wake locks长时间未释放

收到,我们测试看看

感谢引擎组的帮助。

请问,这边测试有复现出这个问题吗?

2.2.2 版本没有复现,你们可以升级测试下,音频后台处理这块最近有修复过。

好的,升级下2.2.2测试一下demo项目后进行反馈,谢谢

您好,这边升级到2.2.2项目测试后,问题依旧存在,如图。

不好意思,之前复现步骤里,描述有点错误,demo项目必须使用cmd执行adb shell dumpsys power --charged命令,才能看到wake lock的相关信息,现已修正。

还麻烦再查看一下呢。

我试试,稍等~

请问,有成功复现吗?

添加下这几个临时修复代码,新增的函数,自己补充头文件,自己测试下,有问题在反馈。

https://github.com/cocos-creator/cocos2d-x-lite/pull/2137

好的,谢谢抽空帮忙,测试后进行反馈。

版本更新后,问题出现率持续降低,可以推测问题已经被修复了,前来反馈,谢谢引擎组帮助。

1赞

mark

你好 你们的app的partial wake lock还有嘛? 我按照修复的方法做过了 降到了0.2% 但还是一直有的。

现在后台已经看不到wake lock的统计了,应该是已经没有了。正常情况下,发生机率应该会随着发布时间,慢慢降低的。

能降到多少 0.01一下吗?