我无法确定这一点,但看起来我的应用程序正在崩溃,因为我的资源加载时间过长。
我相信它来自我对 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.
}
我正在加载大约 200 个位图,总大小约为 4MB。
有没有其他人经历过这个?如果是这样,您是否提出了解决方法?
我发现一些文章提供了在运行时加载所需资源的建议,但它们似乎不适合我遇到的问题。