我在屏幕上有一个图像,我想每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;
}