我無法驗證這一點是肯定的,但它看起來好像我的應用程序崩潰,因爲它的時間太長了我的資源加載。UWP/Win2D - 應用程序崩潰,而裝載帆布資源
我相信這是從我的電話來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的大小。
有其他人的經驗?如果是這樣,你有沒有想出一個解決方法?
我已經發現了一些文章,在運行時提供的負載所需要的資源的建議,但他們似乎並不適合與我有這個問題。
是什麼'CreateCanvasResourcesAsync(...)執行'什麼樣子的? – Laith
我已更新說明以包含由CreateCanvasResourceAnsync(...)調用的方法的信息。 –
是否可以從外部加載位圖,然後將它們傳遞到視圖中?爲了驗證圖像本身沒有問題,我將它們從外部加載到視圖中,沒有問題。如果有辦法將圖像注入視圖,這將是一個很好的解決方法。 –