Android(安卓)主动 try-catch 主线程的 Exception
16lz
2021-01-24
android.os.Handler(android.os.Looper.getMainLooper()).post(object : Runnable { override fun run() { while (true) { try { android.os.Looper.loop() } catch (e: Throwable) { android.util.Log.e(TAG,"Looper异常:",e) } } }})
当调用上述代码之后,当处理到我们主动 post 的 message,这个时候就会因为 Looper.loop()
使得主线程对于后续的 message 的处理都约束在了当前代码块。
然后因为外层有 try-catch
,所以就相当于主线程的都被我们人为的 try-catch
住了。
上述处理,其实就是一些 Exception 兜底处理库的实现原理。
更多相关文章
- android context调用startActivity时报错:Calling startActivity(
- Android(安卓)JNI和NDK学习(2)--编程入门
- Android判断是Wifi还是4G网络代码
- 关于Android Studio提交代码到Git上的操作(Mac)
- java/android下JNI编程总结
- Android GPS 定位的实现