1
目前我正在使用MasterDetailPage作爲我的應用程序,我意識到創建頁面可能需要很長的時間,這會讓應用程序在選擇菜單從母版頁。Xamarin表單:如何加快內容頁面的創建
var TimeA = DateTime.Now;
var page = (Page)item.GetPage.Invoke();
System.Diagnostics.Debug.WriteLine("Time A Taken to change = " + DateTime.Now.Subtract(TimeA).TotalMilliseconds);
var TimeB = DateTime.Now;
var navigationPage = new NavigationPage(page);
navigationPage.BarBackgroundColor = ((NavigationPage)Detail).BarBackgroundColor;
navigationPage.BarTextColor = ((NavigationPage)Detail).BarTextColor;
System.Diagnostics.Debug.WriteLine("Time B Taken to change = " + DateTime.Now.Subtract(TimeB).TotalMilliseconds);
var TimeC = DateTime.Now;
Detail = navigationPage;
Detail.Title = item.Title;
System.Diagnostics.Debug.WriteLine("Time C Taken to change = " + DateTime.Now.Subtract(TimeC).TotalMilliseconds);
我已經發布了一個問題,但我認爲這是主要的細節問題,我已經刪除該帖子。現在我意識到問題來自item.GetPage.Invoke。
Func<Page> GetPage =() => { return new DemoPage(); }
即使我直接使用new關鍵字創建而不是調用GetPage,所用的時間仍然是一秒。
時間B和時間C這兩個只需要50ms到100ms這是我可以接受的。時間A是最差的。
有沒有辦法加速或異步執行。
在iOS上,時間A和時間C花費的時間可能會更長。這兩個時間我都會得到340ms。我不確定,因爲沒有太多的應用程序運行在iPhone上。這部分的iPhone性能是可以接受的,至少我不需要等待一秒鐘。