今天在写一个新功能的时候在真机上测试报这个错误,网上找了半天,也没有找到响应的解决办法,后来经过反复调式跟踪,问题终于解决了!
场景
在用户点击下载按钮后判断,是否有本地Token(是否已经登陆),没有Token跳转到登陆页面,登陆成功后进行之前用户的下载操作,弹出下载进度条下载,下载完成后关闭下载进度条,崩溃!
解决
最后发现崩溃的地方是dialog.dismiss();这里,我把这句话删除后,程序正常
根据错误信息
Hardware acceleration can only be used with a single UI thread.
(硬件加速,只能使用一个UI线程。),感觉应该是dialog处理的紧凑导致渲染不过来。
最后我把登陆页面调用下载方法做了个延迟, 问题解决!