本文目錄一覽:
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;}這樣就可以了。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/232065.html