我在写一个voip应用程序。它是基于管理的VOIP逻辑和UI拨打电话,接听服务等
什么是更新从服务用户界面的最佳方式:
从服务使用:runOnUiThread或AsyncTask或Handler或Post
- runOnUiThread或
- 的AsyncTask或
- 处理程序或
- 后
当使用一个方法比其他?
我知道runOnUiThread是有问题的,因为它可能会导致事件发生乱序(如果线程已经是UI线程)。
谢谢。
我在写一个voip应用程序。它是基于管理的VOIP逻辑和UI拨打电话,接听服务等
什么是更新从服务用户界面的最佳方式:
从服务使用:runOnUiThread或AsyncTask或Handler或Post
当使用一个方法比其他?
我知道runOnUiThread是有问题的,因为它可能会导致事件发生乱序(如果线程已经是UI线程)。
谢谢。
据我记忆,你不能直接从服务更新屏幕。您必须使用广播接收器来从服务中捕获您的广播。我猜AsyncTask本身使用runOnUiThread,但它提供了很好的方法在后台线程中执行一个方法,并将结果放入UI线程。
你必须调用bindService()来绑定到服务。然后,您可以使用AsyncTask或Handler从服务中获取信息。
更多阅读:Android Developers