优化常见问题

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. 接收消息时检查消息循环是否已经退出

值得一说的是: 线程终止了,有时候并不是你自己终止的,很可能能是系统的某个正常的时序导致的(只是你没有注意到这个次序,然后写代码的时候没有注意)

你可能感兴趣的:(优化常见问题)