最近突然发现auto.js循环时,只有第一次循环会触发点击事件,然后就没反应了,切换app就又可以执行
通过添加日志发现在第二次循环时,sleep之后代码不走了
经过百度,没有找到确定的原因
但是通过以下方法可以避免:
1.将click事件修改为press事件,例如 click(200,1000) 修改为 press(200,1000,50),press第三个参数是按压时间,单位毫秒
2.将通知栏中的消息全部删除(该条似乎是主要方案,确保运行过程中不会有新的通知,可以把通知全关掉)
3.循环体中不要调用其他函数,直接写逻辑代码
经多次查找和测试,在手机充电状态下不会出现,原因为:这是Android系统的限制,在未通电时为了省电会降低线程的活跃度,尤其是软件切换到后台时、手机进入休眠时更严重
Auto.js 循环执行问题及解决策略
博客探讨了Auto.js在循环时遇到的点击事件仅触发一次的问题,指出可能原因是Android系统为节省电量而限制后台线程活跃度。解决方案包括使用press事件替代click,清除通知栏消息,避免循环中调用其他函数。充电状态可避免此问题。
3209

被折叠的 条评论
为什么被折叠?



