首页 文章

备份时,webBrowser表单会崩溃应用程序

提问于
浏览
2

当我按回按钮从具有webBrowser组件的表单转到任何其他表单时,它在android中崩溃 . 但是,它在iOS中运行良好 . 具体来说它不能在android samsung galaxy s5(android版本5.0)中工作,但在模拟器和其他Android设备中工作也很棒 . 我正在更新应用程序 . 它在以前构建的版本中运行良好,但在新版本中存在问题 . 我没有改变形式的任何东西,但它会崩溃 .

我试图调试设备并得到以下日志 . 我认为“致命信号11(SIGSEGV),代码1”是这里的主要问题

日志:

11-15 14:40:51.278: A/google-breakpad(9135): M A0598000 008F1000 007A1000 000000000000000000000000000000000 data@app@com.capitalEye.roundTable-1@base.apk@classes.dex
11-15 14:40:51.453: A/libc(8864): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 8864 (lEye.roundTable)
11-15 14:40:53.653: E/audit(5364): type=1701 msg=audit(1479200153.653:335994): auid=4294967295 uid=10217 gid=10217 ses=4294967295 subj=u:r:untrusted_app:s0 pid=8864 comm="lEye.roundTable" reason="memory violation" sig=11

我的代码:

protected void beforeWebView(Form f) {
    f.setLayout(new BorderLayout());
    f.getToolbar().setUIID("Container");
    t = new Toolbar();
    t.setUIID("TitleAreaa");
    f.setToolBar(t);
    Style s = UIManager.getInstance().getComponentStyle("Button");
    Image backtoRTN = FontImage.createMaterial(FontImage.MATERIAL_ARROW_BACK, s);

    back = new Command("Back to RTN", backtoRTN) {
        @Override
        public void actionPerformed(ActionEvent evt) {
            showForm("BusinessForum", this);
        }
    };
    back.putClientProperty("uiid", "BacktoRTN");
    f.setBackCommand(back);
    t.addCommandToLeftBar(back);
}

@Override
protected void postWebView(Form f) {
    if (Connectivity.isConnected()) {
        WebBrowser wb = new WebBrowser();
        if (businessWebsiteUrl != null && !businessWebsiteUrl.equals("")) {
            wb.setURL("http://" + businessWebsiteUrl);
            f.add(BorderLayout.CENTER, wb);
            f.revalidate();
        } 
    } 
}

1 回答

  • 0

    这是来自浏览器组件的系统崩溃,该组件是本地对等方 . 我猜测底层的HTML触发了本机操作系统的webkit代码中的一个错误,触发了崩溃 .

    由于我们使用原生Android操作系统浏览器和VM系统级崩溃是一个Android错误 . 我们可以解决其中的一些问题,但如果它在HTML中,那么解决方法的可能性很小 .

相关问题