Open fangxiaopeng opened 6 years ago
两种解决办法,亲测有效: (1)设置延时渲染; try{ // 渲染之前延时1秒(解决页面空白问题) Thread.sleep(1000); mWXSDKInstance.render(TAG, WXFileUtils.loadAsset(path, this.getContext()), options, null, -1, -1, WXRenderStrategy.APPEND_ASYNC); }catch (Exception e){ e.printStackTrace(); }
(2)切换回V0.16版本;
问题原因:子线程中initFramework,js framework(main.js)初始化尚未成功,执行return导致创建WXSDKInstance实例失败。
解决办法(第三种): com.taobao.weex.bridge.WXBridgeManager类createInstance方法中如下代码片段
if (!isJSFrameworkInit() && reInitCount == 1 && !WXEnvironment.sDebugServerConnectable) { Log.e("fxp", "instance.onRenderError"); instance.onRenderError( WXRenderErrorCode.DegradPassivityCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getDegradErrorCode(), WXRenderErrorCode.DegradPassivityCode.WX_DEGRAD_ERR_INSTANCE_CREATE_FAILED.getDegradErrorMsg() + " isJSFrameworkInit==" + isJSFrameworkInit() + " reInitCount == 1" ); post(new Runnable() { @Override public void run() { initFramework(""); } }, instanceId); // return; // 注销return即可 }
Weex页面加载失败!报错信息如下: onException error Code: -1001, msg: degradeToH5|createInstance fail|wx_create_instance_error isJSFrameworkInit==false reInitCount == 1
部分手机上仅首次加载才会失败。