我的应用需要加载同一张图片一定次数。因此,我需要管理内存使用情况,因为在几次迭代后它会耗尽内存。我正在尝试使用垃圾收集器,但它不起作用。我在我的内容页面中这样做。
我的代码如下:
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);
}
最佳答案
也许这可以帮助您管理内存:
关于c# - 在 Xamarin.Forms 上加载图像时内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37638064/