使用PCL

时间:2016-08-11 18:27:35

标签: xamarin xamarin.forms

我在屏幕上有一个图像,我想每100毫秒更新一次,以获得动画效果。我试图异步运行它,以免它妨碍UI线程,更不用说没有理由在主线程上运行它。

问题是图像之间没有清除内存,所以在19(19)图像之后,线程耗尽内存,导致应用程序崩溃。有没有办法可以强制线程清除内存?代码如下。

private async void AnimateImage(List<String> imagePath)
        {
            int i = 0;
            while (i < imagePath.Count)
            {
                try
                {
                    Debug.WriteLine("i is currently {0}, images.Count is {1}", i, imagePath.Count);
                    instructionAnimation.Source = ImageSource.FromFile(imagePath.ElementAt(i));

                    await Task.Delay(50);

                    if (++i == imagePath.Count)
                    {
                        i = 0;
                    }
                }catch (Exception e)
                {
                    Debug.WriteLine(e.Message);
                }

            }
            return;
        }

0 个答案:

没有答案