【混合开发】Android+webview模拟crash崩溃补充说明
【Android】webview强制Crash后再自恢复设计
上一篇提到了手动模拟crash
但是没有提过crash这两条指令的区别:
chrome://crash
模拟的是「Render 进程异常退出」,系统会把事件分发给所有受影响的 WebView,因此只要你的 WebViewClient 重写了 onRenderProcessGone 并返回 true,就能正常回调
chrome://inducebrowsercrashforrealz
模拟的是「Browser 进程自杀」(整个 WebView 进程直接退出),底层不再走 WebViewClient 回调链路,所以看不到 onRenderProcessGone,App 会直接闪退
想模拟 WebView 进程被杀 → 用 chrome://inducebrowsercrashforrealz,但别指望能走到 onRenderProcessGone;这种情况下只能在外层监听 Application 的 UncaughtExceptionHandler 或 Activity 的 onSaveInstanceState 做兜底处理。
onRenderProcessGone
return true
必须返回 true 才能“拦截”崩溃
return false
返回 false 或没重写时,系统会直接杀掉整个 App 进程,所以 任何 crash 监听器(如 Thread.setDefaultUncaughtExceptionHandler、Bugly、Firebase Crashlytics)都来不及工作——这是官方设计,不是 Bug。
好用的开发工具
推荐理由
postman在国内使用已经越来越困难:
1、登录问题严重
2、Mock功能服务基本没法使用
3、版本更新功能已很匮乏
4、某些外力因素导致postman以后能否使用风险较大
5、postman会导致电脑卡顿,而且使用的功能越多越慢,尤其是win电脑,太让人郁闷了
出于以上考虑因此笔者自己开发了一款api调试开发工具SmartApi,满足基本日常开发调试api需求
SmartApi
win版本不大于1M;运行消耗性能极低
macos 版本不大于100M;运行消耗性能极低
SmartApi只为开发者服务
官网地址SmartApi
http://www.smartapi.site/