在调用 Looper.myLooper().quit() 的时候发现报 NullPointerException,通过 Android Studio 发现如下提示:
查阅了 的源码:
/** * Return the Looper object associated with the current thread. Returns * null if the calling thread is not associated with a Looper. */ public static @Nullable Looper myLooper() { return sThreadLocal.get(); }
原来我在另外的线程间接地调用了 Looper.myLooper().quit() 方法。通过 Handler 发送 QUIT 消息解决此问题。