Android 我已将将耗时操作放在线程里了为什么mainactivity还是会卡死

如题
我先是执行了一个系统调用

        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("*/*");
        intent.addCategory(Intent.CATEGORY_OPENABLE);
        startActivityForResult(intent, 1);

用来选取文件,然后在读取文件是要占用较长的时间,
所以我在读取之前用一个fragment覆盖页面,在这个fragment上有一个进度条用来提示用户。

在这之后, 我用handler新起了一个线程来处理耗时的读取操作,
但是在执行时进度条会卡住,界面就好像卡死一样,还求各位大神指教

代码发上来才知道那里卡死,估计是你在线程里更新进度条了吧

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == FragmentActivity.RESULT_OK) {// 是否选择,没选择就不会继续

            showLoading();//显示进度条
            updateUiHandler.post(new Runnable() {//在这个线程中只是休眠了3秒

                @Override
                public void run() {
                    try {
                        Thread.sleep(3000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }

                    hideLoading();//隐藏进度条
                }
            });


            }