优化常见问题

1、 DecorView that was originally added here

Activity com.yunji.medichine.activitys.AppWelcomeAc has leaked window DecorView@8a27c11[] that was originally added here

原因是:Activity是ProgressDialog的“父窗体”,“父窗体”都没了,再次调用dialog.show()的时候,肯定报错了。解决方法也很简单。
解决:在onPause中加上dismiss就可以了
@Override protected void onPause() { super.onPause(); if (mDialog != null && !this.isFinishing()) { mDialog.dismiss(); } }

2、 Handler (android.os.Handler) {215ddea8} sending message to a Handler on a dead thread
"RuntimeException: Handler{xxxx} sending message to a Handler on a dead thread"。

一般性的,如果是你实现自己的Looper和Handler,建议在Looper.prepare()后,调用Looper.myLooper()来获取对这个线程Looper的引用。
用途:0. 可以调用quit()终止服务线程 1. 接收消息时检查消息循环是否已经退出
【优化常见问题】值得一说的是: 线程终止了,有时候并不是你自己终止的,很可能能是系统的某个正常的时序导致的(只是你没有注意到这个次序,然后写代码的时候没有注意)

    推荐阅读