[英]Out of memory loading image on Xamarin.Forms
My app needs to load the same image a certain number of times. 我的应用需要加载相同图像一定次数。 Thus, I need to manage the memory usage because after a few iterations it runs out of memory.
因此,我需要管理内存使用,因为经过几次迭代后,内存耗尽。 I am trying to use Garbage Collector, but it isn't working.
我正在尝试使用垃圾收集器,但它无法正常工作。 I am doing this in my Content Page.
我在我的内容页面中这样做。
My code looks like: 我的代码看起来像:
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);
}
Maybe this can help you manage the memory: 也许这可以帮助你管理内存:
https://github.com/luberda-molinet/FFImageLoading https://github.com/luberda-molinet/FFImageLoading
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.