为了解决这些问题,Autojs Pro 800-3引入了两个新的API,来尽量减少图色模块和控件模块使用时的耗电。
图色模块的耗电优化
requestScreenCapture(options)
options {Object}
async {Boolean} 是否以异步事件的形式提供截图
width {Number} 截图宽度
height {Number}} 截图高度
orientation {String} 屏幕方向,"landscape"为横屏,"portrai"为竖屏,"auto"为自动
请求截图权限的参数中,增加了async的参数,这个参数运行我们以异步的方式,来获取屏幕截图。在以前,我们通过captureScreen()函数来获取截图,并无限循环地寻找目标,比如:
// 请求截图权限
requestScreenCapture();
// 读取目标
let target = $imagesread("/testpng");
while (true) {
// 获取屏幕截图
let capture = $imagescaptureScreen();
// 找图
let pos = $imagesfindImage(capture, target);
// 打印
consolelog(pos);
}
而使用async参数后,我们可以在"screen_capture"事件中获取到,例如:
// 请求截图权限, 注意参数 async: true
requestScreenCapture({async: true});
// 监听屏幕截图
$imageson("screen_capture", capture => {
// 找图
let pos = $imagesfindImage(capture, target);
// 打印
consolelog(pos);
});
使用这样的方式,我们可以只在屏幕刷新时通过事件screen_capture唤醒代码,获取到最新的屏幕截图,并寻找目标。
实测在普通软件界面的找图中,CPU使用率减少了75%左右。
无障碍功能的耗电优化
与找图找色类似,在以前,Autojs也一直只能通过无限循环去判断当前界面、寻找控件,这实际上对省电优化十分不友好。在Pro 800-3版本,我们引入了监听无障碍事件的API。
autoregisterEvents(events)
events {Array} 要监听的事件数组
返回 {EventEmitter}
autoregisterEvent(event, callback)
event {String} 要监听的事件
callback {Function} 事件回调
返回 {EventEmitter}
以上两个函数用于监听一个或多个无障碍事件。所谓无障碍事件,即(其他软件)窗口发送变化、控件发送变化时的事件,包括:
view_clicked 控件被点击
view_long_clicked 控件被长按点击
view_selected 控件被选中
view_focused 控件成为焦点
view_text_changed 控件文本改变
view_scrolled 控件被滑动
window_state_changed 窗口状态变化
window_content_changed 窗口内容变化
window_changed 屏幕上显示窗口的变化(增加,删除,子窗口变化等)
notification_state_changed 通知状态变化
例如,我们要监听Autojs的打开,可以用以下代码监听:
// 监听窗口变化
autoregisterEvent('windows_changed', e => {
// 判断是否有新窗口打开
if (ewindowChangesindexOf('add') >= 0) {
// 获取新窗口的id
let wid = ewindowId;
// 遍历窗口,获取新窗口
let window = autowindowsfilter(w => wid == wid);
// 判断新窗口是Autojs
if (windowlength >= 0 && window[0]title == 'Autojs') {
toast("Autojs被打开了!");
}
}
});
点击阅读全文
打开CSDN APP,看更多技术内容
autojs手机端截图取色助手apk
青咖脚本autojs多功能截图取色识别颜色工具青咖网autojs免root引流脚本专用找图找色工具分享
zulu83301-jdk80192-win_x64msi
zulu83301-jdk80192-win_x64msi
最新发布 AUTOJS90去限制找控件
autojs去限制
继续访问
MySqlDatadll80类库
用于mysql80版本的MySqlDatadll类库,直接引用使用
用于mysql80版本的MySqlDatadll类库,直接引用使用
用于mysql80版本的MySqlDatadll类库,直接引用使用
app_autojs_4_1_1zip
1) autojs 安装 apk 版本 4_1_1 2) 包含 autojs 本身安装apk 和 打包 脚本成apk 文件的插件
AutoJS函数requestScreenCapture()采坑小结一requestScreenCapture()不能多次调用
今天写了一个脚本,遇到些问题与大家分享。脚本需要找图代码如下(注意标识位置) function zhaotu(tpname,regx,regy ,regwidth,regheight){ requestScreenCapture();//注意这个位置 pd=null; var tp = imagesread(tpname) toast("tupian:"+tp); sleep(3000); pd =findImage( cap
继续访问
Autojs实现自动授权截屏权限
写在前面: 本文章记录自己在开发过程中,遇到的基础问题,也同样便于在以后的开发中获得便利。 如果你是初学Autojs开发,建议可以读这篇文章Autojs入门超基础,该文章是我入门时拜读的作品,整体感觉很好,基本内容都有所讲到,完全可以适合新手做出一些简单的脚本自用。 一、开发文档 在开发文档中该方法也提到,有些系统是没有保持始终允许的选项的,题主也是遇到了这个问题,因为写的脚本时定时运行的,不可能自己再手动授权,所以自己写了一个能够自动授权方法,还有很多不足的地方,希望大家可以斧正。 二、进阶方法
继续访问
Android 90 Auto及m4 core倒车逻辑--基于imx8qm
新板子car版本android系统收不到m4发送的资源释放消息,屏不亮,先分析一下逻辑关系。 上图就是car版本AP核和M41核之间的倒车逻辑。 阶段1 系统启动完毕 mek_8qmk 63: $(IMX_DEVICE_PATH)/init_car_m4rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/initcar_additionalrc 68: $(IMX_DEVICE_PATH)/init_car_no_m4rc:$(TARGET_COPY_O
继续访问
Autojs[系统Intent]_系统设置页面的相关intent跳转
收集了一些系统设置界面的Intent跳转,只收集了不传值,可直接调用一些参数 var intent = new Intent(); // IntentsetAction("androidnetSETTINGS"); intentsetAction("androidsettingsACCESSIBILITY_SETTINGS"); //辅助功能 intentsetAction("androidsettingsADD_ACCOUNT_SETTINGS"); //添加账户 in
继续访问
Autojs找图找色常用功能
1 颜色的表示方法 颜色表示方式一:"#AARRGGBB",需要表示透明度的时候用这种方法。 颜色表示方式二:"#RRGGBB",不需要表示透明度的时候用这种方法。 AA 是Alpha通道(透明度)的值; RR 是R通道(红色)的值; GG 是G通道(绿色)的值; BB 是B通道(蓝色)的值; 2 颜色的转换方法 1 返回颜色值的字符串; 2 返回颜色的整数值;
继续访问
Autojs Pro_Pro 704-1apk
兼容性说明 不支持安卓10以上和华为手机调试运行,推荐在小米手机上调试运行。 但是打包的脚本不分手机型号都能运行。
autojs脚本大全
收集2000余个脚本
autojs-clipboard
本仓库主要为了, 方便手机和电脑剪贴板, 在局域网同步 同步原理 手机autojs运行mobilejs, 监听到剪贴板变化, 就发送>易语言写模拟器辅助是内存
图色类辅助的缺点,容易被游戏查到,有很多问题复杂的图色问题无法处理,准确性不高,效率低下等。
内存辅助的缺点,相对与图色类更容易被游戏查到,特征码查找困难,入门难。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)