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内核搭配使用效果更佳。