0

我的应用程序计算 StyledStringElement 的图像,这个过程需要很长时间。这一切都在本地完成。

我怎样才能做这样的伪代码:

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

1 回答 1

2

你可以使用这样的东西(未经测试):

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

请注意,这假定 GetImageFromSomeFunctionThatWillTakeTime 实际上可以在辅助线程上执行。您可以使用当前的 MonoTouch beta (5.3.2) 轻松测试这一点,因为如果您在辅助线程上执行不允许的操作,您将获得异常。

于 2012-04-12T07:48:54.063 回答