我想知道处理递归调用 (Begin)InvokeOnMainThread 调用的情况的推荐方法是什么。
场景是这样的......我有一个 UI 按钮按下启动下载,下载启动音频播放,音频播放更改 UI。
代码看起来像这样:
void ButtonPressHandler(object sender, EventArgs args)
{
BeginInvokeOnMainThread(()=> {
StartDownload(CompletionHandler);
});
}
void CompletionHandler()
{
BeginInvokeOnMainThread(()=> {
StartPlayback(PlaybackFinished);
});
}
void PlaybackFinished()
{
BeginInvokeOnMainThread(()=> {
UpdateUI();
});
}
处理这种情况的推荐方法是什么?我的用户界面没有更新。我尝试了 BeginInvokeOnMainThread 和 InvokeOnMainThread。会不会出现死锁情况?
任何帮助表示赞赏。