public async Task GetThumbnailSource(ItemModel item) { await Task.Run(() => { var requestId = _imageMgr.RequestImageForAsset( _asset, new CoreGraphics.CGSize(256, 256), PHImageContentMode.AspectFill, new PHImageRequestOptions(), async(img, info) => { if (img?.Size != null) // && (img.Size.Width >= 256 || img.Size.Height >= 256)) { await Task.Run(() => { var imgSource = ImageSource.FromStream(img.AsPNG().AsStream); item.ThumbSource = imgSource; }).ConfigureAwait(false); } } ); Console.WriteLine($"ID: {requestId}"); _requestsQueue.Enqueue(requestId); if (_requestsQueue.Count > 40) { var oldRequestId = (int)_requestsQueue.Dequeue(); var t = Task.Run(() => { _imageMgr.CancelImageRequest(oldRequestId); }); } }).ConfigureAwait(false); }