Tencent / VasSonic

VasSonic is a lightweight and high-performance Hybrid framework developed by tencent VAS team, which is intended to speed up the first screen of websites working on Android and iOS platform.
Other
11.8k stars 1.61k forks source link

在退出APP再进入web页面后,几次重复后,出现页面无法跳转的问题 #300

Closed hhz1987 closed 5 years ago

hhz1987 commented 5 years ago

What steps will reproduce the problem? 该问题的重现步骤是什么?

  1. 安卓使用sonic SDK和X5内核
  2. H5页面的用VUE开发的,但是VUE开发这边没有介入sonic的SDK,并且配置路由模式是history的
  3. 在退出APP再进入web页面后,几次重复后,出现页面无法跳转的问题

What is the expected output? What do you see instead? 你期待的结果是什么?实际看到的又是什么? 期待的是页面能像添加sonic框架前顺利跳转和回退;实际现象是在退出APP再进入web页面后,几次重复后,出现页面无法跳转。

What version of the product are you using? On what operating system? 你正在使用产品的哪个版本?在什么操作系统上? sdkVersion=27, machineModel=Redmi 5A, OSVersion=8.1.0。sonic SDK 3.1.0和X5版本tbs_sdk_thirdapp_v4.3.0.1020_43633_sharewithdownload_withoutGame_obfs_20190111_105200

Please provide any additional information below. 如果有的话,请在下面提供更多信息。 出错时候的log信息如下: 03-18 10:03:37.476 6261-6578/com.eptok.demo.h5 W/Adreno-ES20: : glFinish skipped: 0 03-18 10:03:37.516 6261-6578/com.eptok.demo.h5 I/chatty: uid=11232(com.eptok.demo.h5) Chrome_InProcGp identical 1 line 03-18 10:03:37.557 6261-6578/com.eptok.demo.h5 W/Adreno-ES20: : glFinish skipped: 0 03-18 10:03:37.562 6261-6261/com.eptok.demo.h5 I/chromium: [INFO:CONSOLE(6)] "Uncaught (in promise) SyntaxError: Failed to execute 'assign' on 'Location': '/trust/banklistDetail' is not a valid URL.", source: https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js (6) 03-18 10:03:38.129 6261-6495/com.eptok.demo.h5 W/OkHttpClient: A connection to http://zxcv.3g.qq.com/ was leaked. Did you forget to close a response body? 03-18 10:03:41.032 6261-6261/com.eptok.demo.h5 W/MemoryCheckThre: type=1400 audit(0.0:20618): avc: denied { read } for name="mem" dev="debugfs" ino=835350 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:kgsl_debugfs:s0 tclass=file permissive=0 03-18 10:03:41.332 6261-6261/com.eptok.demo.h5 I/chatty: uid=11232(com.eptok.demo.h5) identical 2 lines 03-18 10:03:41.332 6261-6261/com.eptok.demo.h5 W/MemoryCheckThre: type=1400 audit(0.0:20621): avc: denied { read } for name="mem" dev="debugfs" ino=835350 scontext=u:r:untrusted_app:s0:c512,c768 tcontext=u:object_r:kgsl_debugfs:s0 tclass=file permissive=0

另一个页面的出错log: 03-18 10:16:54.284 10682-10858/com.eptok.demo.h5 W/Adreno-ES20: : glFinish skipped: 0 03-18 10:16:54.324 10682-10858/com.eptok.demo.h5 I/chatty: uid=11232(com.eptok.demo.h5) Chrome_InProcGp identical 1 line 03-18 10:16:54.365 10682-10858/com.eptok.demo.h5 W/Adreno-ES20: : glFinish skipped: 0 03-18 10:16:54.388 10682-10682/com.eptok.demo.h5 I/chromium: [INFO:CONSOLE(6)] "Uncaught (in promise) SyntaxError: Failed to execute 'assign' on 'Location': '/trust/unbindCard?cardlist=%7B%22cardToken%22%3A%22253883000120190304%22,%22lwtyl%22%3A%22N%22,%22issuingBank%22%3A%22%E6%8B%9B%E5%95%86%E9%93%B6%E8%A1%8C%22,%22withdraw%22%3A%22Y%22,%22issuingBankId%22%3A%223085840%22,%22backCardNo%22%3A%223493%22,%22quickpay%22%3A%22Y%22,%22mobile%22%3A%22136%2a%2a%2a%2a6909%22%7D&comefrom=myWallet' is not a valid URL.", source: https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js (6) 03-18 10:16:54.405 10682-10858/com.eptok.demo.h5 W/Adreno-ES20: : glFinish skipped: 0

vasdeveloper commented 5 years ago

页面在调用 supportBanks 的时候,window.WebViewJavascriptBridge 是 undefiend

类似此类多个跳转且单webview的页面,需要综合评估是否收益大于成本 我们通常把sonic应用于一级首页,并且二级页面通过新开webview打开的方式