本文共 495 字,大约阅读时间需要 1 分钟。
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 兜底处理库的实现原理。
转载地址:http://orerj.baihongyu.com/