我的应用程序需要加载相同的图像多次。因此,我需要管理内存使用情况,因为经过几次迭代后,内存就会耗尽。我正在尝试使用垃圾回收器,但它没有起作用。我是在我的内容页面(Content Page)中这样做的。
我的代码如下:
private async Task ExecuteTests(string imageResource)
{
// Do stuff
for (int q = 0; q < NUMBER_OF_TESTS; q++) {
// Do some work
await LoadImageAsync (imageResource);
// Do stuff
if (q < NUMBER_OF_TESTS - 1) {
stkImage.Children.Remove(mImageTested);
mImageTested = null;
GC.Collect ();
}
}
}
private async Task LoadImageAsync(string imageURI)
{
mImageTested = new Image { Aspect = Aspect.AspectFit };
Task<ImageSource> result = Task<ImageSource>.Factory.StartNew(() => ImageSource.FromFile(imageURI));
mImageTested.Source = await result;
stkImage.Children.Add(mImageTested);
}