확실히 확인할 수 없지만로드하는 데 시간이 너무 오래 걸리므로 응용 프로그램이 충돌하는 것처럼 보입니다.UWP/Win2D - 캔버스 리소스를로드하는 동안 응용 프로그램이 충돌합니다.
는 나는 내가 크기가 약 4MB의 총, 약 200 비트 맵을로드하고 CreateCanvasResourcesAsync
public void OnCreateResources(CanvasControl sender, CanvasCreateResourcesEventArgs args)
{
args.TrackAsyncAction(CreateCanvasResourcesAsync(sender).AsAsyncAction());
}
private async Task CreateCanvasResourcesAsync(CanvasControl sender)
{
if (_tiles.Keys.Count > 0) return;
await LoadImageAssets(sender, _tiles);
}
private async Task LoadImageAssets(CanvasControl canvas, IDictionary<int, CanvasBitmap> dictionary)
{
dictionary.Add((int)TileTypes.Tile1, await CanvasBitmap.LoadAsync(canvas, @"Assets/Tiles/Tile1.png"));
dictionary.Add((int)TileTypes.Tile2, await CanvasBitmap.LoadAsync(canvas, @"Assets/Tiles/Tile2.png"));
// etc.
}
에 내 전화에서오고 생각합니다.
이 경험이있는 사람이 있습니까? 그렇다면 해결 방법을 찾았습니까?
런타임에 필요한 리소스를로드 할 때 제안 사항을 제공하는 기사를 찾았지만 문제가있는 것 같지 않습니다.
'CreateCanvasResourcesAsync (...) '의 구현은 어떻게 생겼습니까? – Laith
CreateCanvasResourceAnsync (...)에 의해 호출되는 메서드에 대한 정보를 포함하도록 설명을 업데이트했습니다. –
외부에서 비트 맵을로드 한 다음보기에 전달할 수 있습니까? 이미지 자체에 문제가 없는지 확인하기 위해 뷰 외부에 문제없이로드했습니다. 뷰에 이미지를 삽입 할 수있는 방법이 있으면 좋은 해결 방법이 될 것입니다. –