billycool
billycool
  • 发布:2015-01-21 14:00
  • 更新:2015-01-22 07:36
  • 阅读:5324

关于用Hbuilder开发的安卓APP异常退出的问题

分类:HBuilder

请教一个问题:
我用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(); //关闭当前页  
    }
2015-01-21 14:00 1 条评论 负责人:无 分享
已邀请:
billycool

billycool (作者)

沉得很快,自己顶一下

DCloud_UNI_CHB

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

DCloud_heavensoft

摄像头使用注意几点:

  1. 不用摄像头时,要close调用摄像头的那个页面。如果用mui.back,有时不是close,而是hide。
  2. 摄像头拍照比较大时,不要显示在界面上,太多大图片显示很占用内存,容易崩溃。
  • billycool (作者)

    非常感谢,我先按这个思路来检查,有进展再回复。

    2015-01-22 17:15

  • billycool (作者)

    关于摄像头的使用情况我把代码贴在主贴里面了,是用hbuilder的例程来改的,没做什么修改,不知道是否有问题?

    2015-01-22 17:31

该问题目前已经被锁定, 无法添加新回复