请教一个问题:
我用hbuilder做了一个简单的app,主要是跟web服务器进行一些数据交互,用的mui做界面,用ajax方式跟服务器交互,调用了机器的二维码扫描功能(需要反复多次扫码)。
但是程序经常异常退出,不论是在hbuilder联机调试的时候,还是打包成app以后安装到手机上。不知道要怎样来查找原因?或者有没有什么保障程序稳定运行的办法?
还请指教,谢谢!
摄像头使用逻辑如下(扫描成功以后是调用close关闭页面的),不知道是否有什么导致异常退出的因素?
1、一级页面通过openWindow打开扫描二维码新页面,代码如下:
//开启二维码扫码窗口函数
function scanner(){
mui.openWindow({
url: 'scanner.html',
id: 'scanner',
})
}
2、扫描逻辑如下:
// 开始扫描
setTimeout(function(){
scan=new plus.barcode.Barcode('bcid');
scan.onmarked=onmarked;
scan.start({conserve:true,filename:"_doc/barcode/"});
},300);
3、扫码成功回调函数逻辑如下:
// 二维码扫描成功
function onmarked(type,result,file){
switch(type){
case plus.barcode.QR:
type = "QR";
break;
case plus.barcode.EAN13:
type = "EAN13";
break;
case plus.barcode.EAN8:
type = "EAN8";
break;
default:
type = "其它";
break;
}
result = result.replace(/\n/g, '');
father = mui.currentWebview.opener(); //获取父窗口句柄
father.evalJS("scaned('"+ result +"');");//执行父窗口的回调函数逻辑
mui.currentWebview.close(); //关闭当前页
}
3 个回复
billycool (作者)
沉得很快,自己顶一下
DCloud_UNI_CHB
1、插上手机看HBuilder控制台是否有异常;
2、测试分析是否只有在特定页面操作才会异常退出;
3、是否自定义了页面关闭逻辑,比如自己关闭了App启动页;
billycool (作者)
非常感谢,我先按这个思路来检查,有进展再回复。
2015-01-22 17:15
billycool (作者)
1、异常关闭时,hbuilder控制台无提示;
2、在需要启动摄像头子页面的页面停留时会关闭,在不使用摄像头子页面的页面停留时也会关闭,在alert一段信息的时候会关闭,情况不特定;
3、自己定义的app关闭逻辑代码如下,不知道有没有问题?
//退出程序的函数
function logout(){
if(confirm('确认要退出吗?')){
plus.runtime.quit();
}
}
2015-01-22 17:30
DCloud_UNI_CHB
你测试一下不打开摄像头页面(scanner.html)的情况是否会异常关闭;若不会,则问题出在摄像头页面;否则,可能跟摄像头无关,继续逐步删除其它页面,最终确认因为打开了哪个页面,导致了异常退出。
2015-01-22 18:52
DCloud_heavensoft
摄像头使用注意几点:
billycool (作者)
非常感谢,我先按这个思路来检查,有进展再回复。
2015-01-22 17:15
billycool (作者)
关于摄像头的使用情况我把代码贴在主贴里面了,是用hbuilder的例程来改的,没做什么修改,不知道是否有问题?
2015-01-22 17:31