我正在使用 System.ComponentModel.BackgroundWorker
来执行一些运行时间更长的任务,这些任务最终会更新一些 UI 元素。
关于此的问题:
BackgroundWorker.RunWorkerCompleted
是在 UI 主线程上执行,还是在单独的线程中执行?或者问不同的问题:我是否必须将我的代码嵌入到using(NSAutoReleasePool)
中,我是否必须像使用普通线程时那样InvokeOnMainThread()
?<- 我是否必须在
BackgroundWorker.DoWork
委托(delegate)中使用NSAutoReleasePool
?
最佳答案
BackgroundComponentWorker 尚未调整为适用于 Android 的 MonoTouch 或 Mono,因此它不会对 UI 线程执行任何特殊操作。
引发的任何事件都不会在 UI 线程上引发,因此您需要手动将它们包装在 BeginInvokeOnMainThread 中。
关于c# - Monotouch 中的 System.ComponentModel.BackgroundWorker - 正确用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7659843/