我正在将我的代码从使用转换为Handler
to AsyncTask
。后者非常擅长它的功能——异步更新和在主 UI 线程中处理结果。我不清楚的是,如果出现问题,如何处理异常AsyncTask#doInBackground
.
我这样做的方法是有一个错误处理程序并向其发送消息。它工作得很好,但这是“正确”的方法还是有更好的选择?
我还了解到,如果我将错误处理程序定义为 Activity 字段,它应该在 UI 线程中执行。然而,有时(非常不可预测)我会得到一个异常,说代码是从Handler#handleMessage
在错误的线程上执行。我应该初始化错误处理程序吗Activity#onCreate
反而?配售runOnUiThread
into Handler#handleMessage
看似多余,但执行起来非常可靠。
它工作正常,但它是“正确的”吗
有没有更好的方法
选择?
我紧紧抓住Throwable
or Exception
in the AsyncTask
实例本身,然后用它做一些事情onPostExecute()
,因此我的错误处理可以选择在屏幕上显示对话框。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)