我可以在线程内使用runOnUiThread()来在运行线程时更新用户界面,还是处理程序更有效?
答案 0 :(得分:3)
是的,您可以使用非UI线程中的runOnUiThread()
来更新UI。如果您当前不在UI线程上,那么该方法在内部使用处理程序,因此使用您自己的处理程序将不会更有效。如果您已经在UI线程上,那么runnable将立即执行。
答案 1 :(得分:0)
效率在这里不是什么大问题。如果需要调用另一个类(例如,如果您的线程在类中运行并且您需要更新片段),则处理程序可能很有用。如果您在片段/活动中并且可以访问需要更新的元素,那么runOnUIThread可能更容易。这完全取决于代码访问。
我个人使用回调。