首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xamarin表单:如何加快内容页的创建

Xamarin表单:如何加快内容页的创建
EN

Stack Overflow用户
提问于 2016-12-12 23:00:23
回答 1查看 436关注 0票数 1

目前我正在使用MasterDetailPage作为我的应用程序,我意识到创建页面可能需要很长时间,这使得应用程序在从母版页面中选择菜单后会冻结片刻。

代码语言:javascript
运行
复制
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。

代码语言:javascript
运行
复制
Func<Page> GetPage = () => { return new DemoPage(); }

即使我直接使用新关键字创建,而不是调用GetPage,所花费的时间仍然是一秒。

时间B和时间C都只需要50到100毫秒,这是我可以接受的。时间A是最糟糕的。

是否有一种方法可以加快速度或异步执行。

在iOS上,时间A和时间C所花费的时间可能会更长。两次我都会上340毫秒。我不确定,因为在iPhone上运行的应用程序不多。这部分的iPhone性能是可以接受的,至少我不需要等待一秒钟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-12-15 04:22:34

尽管我无法加快不同navigationPage之间的转换,但我决定在后台任务中完成它,MasterDetailPage集的背景与新页面相同,这样就不会显得尴尬了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41111122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档