Android端常见问题

Q1:Sonic支持的最低版本?

Sonic-SDK支持的最低版本为2.3(API Level 9),Demo App中最低版本支持是4.4(API Level 17)

Q2:webView.addJavascriptInterface这个在低版本的Android不会有安全隐患么?

在4.2(API Level 17)以下版本中,addJavascriptInterface存在安全风险,建议:

  • 使用X5内核可以有效解决该问题,并且能够优化页面渲染性能;
  • 或者使用onJsPrompt、onConsoleMessage、shouldOverrideUrlLoading等常用方式进行拦截。

Q3:我们这边需要网页和原生交互,用了jsbridge,使用VasSonic,会有影响吗?

不会有影响, 业务侧仅需要通过已有的jsbrige通道把Sonic的JSAPI调用传给SonicSession即可。

Q4:Demo中出现crash[UnknownError("create session fail!")],是什么原因?

  • 在sonic设计中,仅支持同时执行一个相同sessionId的会话,详细原因参见 (入门须知)的sessionId部分;
  • 在业务使用中遇到这种场景,可以对sonicSession进行判空逻辑,让业务回退到标准webview流程,走正常加载即可。

Q5:VasSonic与X5内核的关系?

  • VasSonic是一个专注于提升首屏加载速度的框架,在WebView内核的上层,支持系统原生内核和TBS-X5内核;
  • X5内核解决了Android系统WebView碎片化严重的问题,且进行了大量优化,目前手Q和微信都是有X5内核,VasSonic和X5内核搭配使用效果更佳。