auto.js循环遍历时出现点击失效

博客探讨了Auto.js在循环时遇到的点击事件仅触发一次的问题,指出可能原因是Android系统为节省电量而限制后台线程活跃度。解决方案包括使用press事件替代click,清除通知栏消息,避免循环中调用其他函数。充电状态可避免此问题。
摘要由CSDN通过智能技术生成

最近突然发现auto.js循环时,只有第一次循环会触发点击事件,然后就没反应了,切换app就又可以执行

通过添加日志发现在第二次循环时,sleep之后代码不走了

 

经过百度,没有找到确定的原因

但是通过以下方法可以避免:

1.将click事件修改为press事件,例如 click(200,1000) 修改为 press(200,1000,50),press第三个参数是按压时间,单位毫秒

2.将通知栏中的消息全部删除(该条似乎是主要方案,确保运行过程中不会有新的通知,可以把通知全关掉)

3.循环体中不要调用其他函数,直接写逻辑代码

 

经多次查找和测试,在手机充电状态下不会出现,原因为:这是Android系统的限制,在未通电时为了省电会降低线程的活跃度,尤其是软件切换到后台时、手机进入休眠时更严重

参考: https://www.autojs.org/topic/3323/%E5%BD%93%E5%89%8D%E6%89%80%E6%9C%89%E7%89%88%E6%9C%ACsleep%E9%83%BD%E5%AD%98%E5%9C%A8%E7%9A%84%E5%A4%A7bug

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值