我的应用程序计算StyledStringElement的图像,此过程花费大量时间。全部在本地完成。

我该怎么做这样的伪代码:

myElement.Image = PlaceHolderImage;
myElement.GoGetTheImageFromSomeLongRunningTask = GetImageFromSomeFuntionThatWillTakeTime();

最佳答案

您可以使用类似以下内容(未经测试):

myElement.Image = PlaceHolderImage;
ThreadPool.QueueUserWorkItem ((v) =>
{
    var image = GetImageFromSomeFunctionThatWillTakeTime ();
    BeginInvokeOnMainThread (() =>
    {
        myElement.Image = image;
        myRoot.ReloadData ();
    });
});


请注意,这假设GetImageFromSomeFunctionThatWillTakeTime实际上可以在辅助线程上执行。您可以使用当前的MonoTouch beta(5.3.2)轻松地对此进行测试,因为如果您执行了辅助线程上不允许执行的操作,则会得到异常。

关于c# - MonoTouch.Dialog:在后台设置StyledStringElement的图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10115975/

10-11 04:34