首页 > 编程知识 正文

autojs实例大全的简单介绍

时间:2024-04-24 11:43:14 阅读:333951 作者:SUBQ

本文目录一览:

auto.js-01基于坐标的触摸模拟

//duration {number} 按住时长,单位毫秒。

setScreenMetrics(width, height) ;//设置脚本坐标点击所适合的屏幕宽高。如果脚本运行时,屏幕宽度不一致会自动放缩坐标。

click(x, y) ;//模拟点击坐标(x, y),并返回是否点击成功。只有在点击执行完成后脚本才继续执行。默认100ms点击时长。

longClick(x, y);//模拟长按坐标(x, y), 并返回是否成功。只有在长按执行完成(大约600毫秒)时脚本才会继续执行。

press(x, y, duration);//模拟按住坐标(x, y), 并返回是否成功。只有按住操作执行完成时脚本才会继续执行。

swipe(x1, y1, x2, y2, duration);//模拟从坐标(x1, y1)滑动到坐标(x2, y2),并返回是否成功。只有滑动操作执行完成时脚本才会继续执行。

gesture(duration, [x1, y1], [x2, y2], ...);//模拟手势操作。

gestures([delay1, duration1, [x1, y1], [x2, y2], ...], [delay2, duration2, [x3, y3], [x4, y4], ...], ...) ;

//同时模拟多个手势。

//输出

log();//日志输出。 toast();//气泡输出。toastLog();//气泡,日志输出。alert();//对话框输出。

//注释

行级注释   ---  //注释内容。块级注释   ---  /*注释内容*/。

1.字符串的拼接用加号进行运算。

2.布尔值运算         

非-感叹号,感叹号的作用是布尔值取反,比如本来为true的数据类型,用了!值为false,本来为false的变为true。        

都-    ,连接两个布尔值,如果两个值都为true,那么返回true,否则返回false        

任意-    ||,连接两个布尔值,如果两个中有一个为true,那么整体返回true,否则返回false

autojs死巡环内存爆炸

内存溢出是一种程序运行会出现的错误,当程序所需要的内存大于剩余内存(机器能提供给你的内存),就会抛出内存溢出的错误

var obj = {}

for (var i = 0; i 100000000; i++) {

obj[i] = new Array[100000000]

}

登录后复制

内存泄漏

占用的内存没有及时的释放从而失去控制,从而造成内存的浪费。内存泄漏多了就容易引发内存溢出。

常见的内存泄漏案例:

1、意外的全局变量

function fn() {

var name = '张三'

var age = 18

address = '上海' // 没有用var定义,这时候address是全局的

}

fn() // 因为address会被变量提升到了全局变量,fn调用完成后address还保留在内存中

登录后复制

2、没有及时清除定时器

// 没有及时清理定时器

var timer = setInterval(() = {

console.log(new Date())

}, 1000);

// clearInterval(timer) 及时清理定时器

登录后复制

3、没有及时清理闭包

// 函数执行完后, 函数内的局部变量没有释放, 占用内存时间会变长,容易造成内存泄露

function fun() {

var a = 5

function getA() {

return a

}

return getA

}

var f = fun()

f() // 5

// f = null 让内部函数成为垃圾对象,释放闭包

登录后复制

4、没有及时清理清理dom元素的引用

var dom = document.getElementById('box')

document.body.removeChild(dom) // dom删除后,下面依然能打印出整个div

console.log(dom) // div id="box"嘿嘿嘿/div

dom = null

console.log(dom) // 释放资源,解除引用

登录后复制

5、addEventListener

监听事件的解除,监听的时候addEventListener,在不监听的时候要使用removeEventListener。

autojs歌曲代码

Auto.js是利用安卓系统的“辅助功能”实现类似于按键精灵一样,可以通过代码模拟一系列界面动作的辅助工作。

与“按键精灵”不同的是,它的模拟动作并不是简单的使用在界面定坐标点来实现,而是类似与win一般,找窗口句柄来实现的。

Auto.js使用JavaScript作为脚本语言,目前使用Rhino 1.7.7.2作为脚本引擎,支持ES5与部分ES6特性。

吸引我使用Auto.js Pro的原因有很多。最主要的几个原因是:

Auto.js Pro能开发免ROOT的安卓脚本。

Auto.js Pro基于节点操作,能开发全分辨率的脚本,自动适配各种安卓机型。

Auto.js Pro丰富的UI组件,能自定义各种样式的安卓界面。

Auto.js Pro使用的javascript的语法比较优雅,代码可读性强。

Auto.js Pro的命令库非常的丰富,接口比较多。

Auto.js Pro脚本文件体积比较小。1000行的代码,打包后的apk文件只有3-5M,还没有广告。

auto.js怎么实现等待按钮出现再点击?

1坐标点击就是直接点击某个点,这个点是固定的,所以在不同分辨率兼容性差,所以不推荐使用。

2控件点击是autojs左右特点的一项功能,它是基于安卓的无障碍功能的,在软件上有很好的支持,但是游戏就不行了。具体的教程很多,不多说了,就说说我在使用时踩得一些坑。

①有些控件能用autojs的工具找到,但是写出来后却识别不出来,手动滑动一下屏幕就能找到了,不知道是不是BUG,所以加个判断,防止找不到脚本出错。

②寻找控件建议不要用findOne()、waitFor()、exists()等一些会阻塞的方法,不然稍微出现一点其他事件就会阻塞,导致脚本莫名其妙的卡死,使用findOne(timeout)、findonce()时可以加个判断在不为null的时候再点击或其他操作,因为没找到返回null,直接click就会报错,脚本停止运行,要是是找的父或者子控件也写到判断里

③找图找色特别消耗内存,所以在能用控件就用控件,找图找色在找到后要用recycle()来对创建的图像对象回收,提高脚本稳定,让脚本能持续运行更长时间,截图也需要一定的时间

④如果脚本有悬浮窗,使用找图要注意不要将要找地图遮挡。

⑤控件中使用text比id要靠谱一些,在一些软件中id是会改变的。

autojs的脚本有哪些

jquery很简单的吧1231对应的内容1对应的内容1对应的内容.tab{width:100px;height:30px;line-height:30px;overflow:hidden;margIN:0auto;}.tabspan{float:left;width:30px;text-align:center;background:#666;color:#fff}.tabspan.on{background:red;color:#fff}.tablist{widtH:100px;height:100px;overflow:hidden;margIN:10pxauto;border:1pxsolid#666;}这样就可以了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。