开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 488|回复: 10
收起左侧

[完成] adb脚本多线程开久了会卡

 关闭 [复制链接]
结帖率:87% (27/31)
发表于 2024-7-13 14:59:52 | 显示全部楼层 |阅读模式   广东省佛山市
30精币
我写了一个ADB脚本,获取屏幕的xml后传输到电脑后查看位置点击。
有时候还需要传图片到手机上。就是传来传去。
用的鱼刺类多线程运行多个设备运行久了电脑会卡。有什么办法解决吗?
开一晚上就是会卡到整个系统都卡得不能动的那种了!鼠标都不怎么能动。把软件关了就不会了
开1个小时的话电脑就会有点缓慢了。
运行代码就差不多是下面这样。

  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
_时钟1_周期事件  
如果 (全_安卓句柄 = 0)
启动线程 (&循环检测安卓设备状态, , 全_安卓句柄)
关闭线程句柄 (全_安卓句柄)
启动线程 (&循环检测安卓设备状态, , 全_安卓句柄)

子程序名返回值类型公开备 注
_按钮1_被单击  
启动线程 (&操作程序, , )
子程序名返回值类型公开备 注
操作程序 
变量名类 型静态数组备 注
设备ID文本型 
i整数型 
设备ID = 超级列表框_设备.取标题 (0, 0)
系统_取DOS执行结果 (“adb -s ” + 设备ID + “ push ”取运行目录 ()“\1.txt”“ /sdcard/”, )
计次循环首 (5000, i)
调试输出 (i)
系统_取DOS执行结果 (“adb -s ” + 设备ID + “ pull ”“/sdcard/1.txt”“ ”取运行目录 (), )
程序_延时 (1, 1)
系统_取DOS执行结果 (“adb -s ” + 设备ID + “ shell  input tap ”到文本 (60)“ ”到文本 (500), )
计次循环尾 ()
子程序名返回值类型公开备 注
循环检测安卓设备状态  
变量名类 型静态数组备 注
按钮状态文本型 
adb结果文本型 
如果真 (进程_是否存在 (“adb.exe”, ))
adb结果 = 系统_取DOS执行结果 (“adb devices”, )
获取安卓设备数量和状态 ()
子程序名返回值类型公开备 注
获取安卓设备数量和状态 把所有设备数量打到列表框上面去
变量名类 型静态数组备 注
i整数型 
局_表项位置整数型 
局_索引整数型 
release内容文本型 
json类_json 
设备状态文本型 
局_表项设备整数型 
表项设备i整数型 
局_查找设备文本型 
设备列表文本型0
数组i整数型 
设备_获取adb列表 (设备列表)
如果真 (取数组成员数 (设备列表) > 0)
' -----------   这里需要通过状态排除原有的设备
计次循环首 (取数组成员数 (设备列表), i)
设备状态 = “连接中”
局_表项位置 = 超级列表框_设备.查找表项 (设备列表 [i], , , 0)
' ---------  通过查找原有设备id排除已连接设备
如果 (局_表项位置 < 0 文本_寻找文本 (设备列表 [i], “320”, , ))
设备状态 = “连接中”
局_索引 = 超级列表框_设备.插入表项 (, , , , , )
超级列表框_设备.置标题 (局_索引, 0, 设备列表 [i])
超级列表框_设备.置标题 (局_索引, 1, 设备状态)



计次循环尾 ()
局_表项设备 = 超级列表框_设备.取表项数 ()
如果真 (局_表项设备 > 取数组成员数 (设备列表))
计次循环首 (局_表项设备, 表项设备i)
局_查找设备 = 超级列表框_设备.取标题 (表项设备i - 1, 0)
计次循环尾 ()
局_表项设备 = 超级列表框_设备.取表项数 ()
子程序名返回值类型公开备 注
设备_获取adb列表 
参数名类 型参考可空数组备 注
返回数组文本型
变量名类 型静态数组备 注
执行结果文本型 
i整数型 
执行结果 = 系统_取DOS执行结果 (“adb devices”, )
执行结果 = 文本_替换 (执行结果, , , , “List of devices attached”, “”, #引号, , 字符 ( #Tab键 ), , #换行符, , 字符 ( #空格键 ), )
' 调试输出 (执行结果)
文本_分割文本 (执行结果, “device”, , 返回数组)
计次循环首 (取数组成员数 (返回数组), i)
如果真 (寻找文本 (返回数组 [i], “unauthorized”, , ) > -1)
返回数组 [i]文本_取右边 (返回数组 [i], “unauthorized”, , )
如果真 (寻找文本 (返回数组 [i], “offline”, , ) > -1)
返回数组 [i]文本_取右边 (返回数组 [i], “offline”, , )

计次循环尾 ()


i支持库列表   支持库注释   
EThread多线程支持库
iext扩展界面支持库一
spec特殊功能支持库

最佳答案

查看完整内容

你试试换个意思,在启动界面上,新建一个窗口,窗口执行业务逻辑,业务逻辑执行完毕,关闭窗口。
结帖率:57% (4/7)

签到天数: 21 天

发表于 2024-7-13 14:59:53 | 显示全部楼层   湖南省湘潭市
你试试换个意思,在启动界面上,新建一个窗口,窗口执行业务逻辑,业务逻辑执行完毕,关闭窗口。

点评

怎么实现大佬?我不是很明白   广东省佛山市  发表于 2024-7-14 03:23
回复

使用道具 举报

签到天数: 20 天

发表于 2024-7-13 15:02:52 | 显示全部楼层   广东省广州市
放弃吧 另找途径
回复

使用道具 举报

结帖率:57% (4/7)

签到天数: 21 天

发表于 2024-7-14 13:55:02 | 显示全部楼层   湖南省湘潭市
love5618775 发表于 2024-7-13 17:20
你试试换个意思,在启动界面上,新建一个窗口,窗口执行业务逻辑,业务逻辑执行完毕,关闭窗口。
...

比如你要实现截图,点截图按钮,一般的写法是按钮按下执行截图,你就改成,按钮按下创建截图窗口,窗口大小1,窗口创建完毕,执行截图,截图完毕,关闭窗口。你说的系统卡,估计是因为内存爆了,找到原因,没释放资源。窗口关闭了就释放资源了。
回复

使用道具 举报

结帖率:87% (27/31)
 楼主| 发表于 2024-7-14 16:13:38 | 显示全部楼层   广东省佛山市
love5618775 发表于 2024-7-14 13:55
比如你要实现截图,点截图按钮,一般的写法是按钮按下执行截图,你就改成,按钮按下创建截图窗口,窗口大 ...

那我是不是一条线程就复制一个窗口,然后把命令都放在新窗口下面?
回复

使用道具 举报

结帖率:57% (4/7)

签到天数: 21 天

发表于 2024-7-14 20:00:08 | 显示全部楼层   湖南省湘潭市
zhucan3n 发表于 2024-7-14 16:13
那我是不是一条线程就复制一个窗口,然后把命令都放在新窗口下面?

意思是的,好像你也可以用标签事件来处理
回复

使用道具 举报

结帖率:87% (27/31)
 楼主| 发表于 2024-7-14 22:31:53 | 显示全部楼层   广东省佛山市
love5618775 发表于 2024-7-14 20:00
意思是的,好像你也可以用标签事件来处理

好滴,我明天试一下。
谢谢大佬
回复

使用道具 举报

结帖率:0% (0/1)

签到天数: 9 天

发表于 2024-7-16 16:50:09 | 显示全部楼层   河北省邯郸市
学习学习来了。。
回复

使用道具 举报

结帖率:87% (27/31)
 楼主| 发表于 2024-7-19 14:37:31 | 显示全部楼层   广东省佛山市
love5618775 发表于 2024-7-14 20:00
意思是的,好像你也可以用标签事件来处理

用了标签事件更卡啦。多线程
回复

使用道具 举报

结帖率:100% (14/14)

签到天数: 6 天

发表于 2024-8-4 00:18:19 | 显示全部楼层   广东省广州市
用adb  找图  坐标点击 本来就不是明智之选   改用jsd
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表