问个有关captureScre函数的问题

就是我在执行一个脚本的时候会出现img的空指针异常,可是这个异常又是时有时无的,所以我想请教一下各位大佬
附上代码:0_1532006354290_Screenshot_2018-07-19-21-09-30-980_com.stardust.s.png
控制台信息:0_1532006382933_Screenshot_2018-07-19-21-09-44-660_com.stardust.s.png
手册:0_1532006399105_Screenshot_2018-07-19-21-05-15-108_com.stardust.s.png

那个控制台信息报错行会有一两行误差,因为我后来又删了一两行注释QAQ

那个行的"!"是手误点上去的,手机不好使,大佬们别见怪QAQ

@张旺大神
兄弟,延时小毛病不注意啊!
images.captureScreen()#
截取当前屏幕并返回一个Image对象。

没有截图权限时执行该函数会抛出SecurityException。

该函数不会返回null,两次调用可能返回相同的Image对象。这是因为设备截图的更新需要一定的时间,短时间内(一般来说是16ms)连续调用则会返回同一张截图。

截图需要转换为Bitmap格式,从而该函数执行需要一定的时间(0~20ms)。

另外在requestScreenCapture()执行成功后需要一定时间后才有截图可用,因此如果立即调用captureScreen(),会等待一定时间后(一般为几百ms)才返回截图。

截屏后请给延迟【请给延时】然后再去搜索图片看看会不会不出现类似问题呢?我看到的问题就只有这里。

管理员

为什么你能上传文件?

最后由 O了吗 编辑

@1912380084 兄弟,我又加了个1000ms的延时试了下,还是会出现同样的问题,其实我觉得也不应该是延时的问题,不然为什么异常会是时有时无的呢。
会不会是申请截图权限那里出了问题?因为我发现截图出错的地方只有第一次,我的这个脚本是有两处代码涉及到截图的。

我试着不使用悬浮窗那个循环运行脚本的功能,而是直接把我的主要代码循环起来,然后就很少出现img空指针异常了。估计是截图请求函数requestCaptureScreen()有些东西没搞清楚。

function capturescreen() {//稳定截图模块
var a;
while (true) {
if (a=captureScreen()) {
return a;
}
}
}

@张旺大神
你粘贴截图这部分源码出来看看,你这个是用悬浮窗启动的脚本是不?

@37458 厉害啊大佬,完美解决了我的问题!!!

  • 12
    帖子
  • 270
    浏览

与 Auto.js 的连接断开,我们正在尝试重连,请耐心等待