如何解决移动应用应如何与Web API交互?
我正在开发一个Flutter项目,该项目从.net核心Web API获取数据。它工作正常,但是每次我加载屏幕或在应用程序中的选项卡之间切换时,它都会从API获取数据(内容和图片),尽管我估计我的数据通常每周更新一次或两次。我想知道在这种情况下最好的性能解决方案。
如果我知道别人在这方面的意见或经验,我将很高兴。 谢谢。
解决方法
它工作正常,但是每次我加载屏幕或在选项卡之间切换时 在应用程序中,尽管我从API获取数据(内容和图片) 估计我的数据通常每周更新一次或两次。一世 想知道在这种情况下最好的性能解决方案。
尝试使用F12开发人员工具“性能”面板检查网站的哪些部分需要改善性能。然后,根据结果做点事情。
由于数据是一些内容和图片,因此您可以考虑使用以下技巧来提高网站性能:
-
避免同步并使用异步
在开发ASP.NET Core 3.0应用程序时,请尝试避免同步调用。同步调用将阻止下一次执行,直到当前执行完成为止。从API提取数据或执行类似I / O操作或独立调用的操作时,请以异步方式执行调用。避免使用Task.Wait和Task.Result,并尝试使用await。
-
优化数据访问权限
大多数应用程序完全依赖于数据库。他们必须从数据库中获取数据,处理数据,然后显示它。如果很耗时,则应用程序将花费更多时间来加载。
建议:
- 异步调用所有数据访问API。
- 不要尝试获取不需要的数据。
- 在出于只读目的访问数据时,尝试在Entity Framework Core中使用无跟踪查询。
- 使用过滤器和聚合LINQ查询(带有.Where,.Select或.Sum语句),以便数据库可以执行过滤。
-
使用缓存技术
通过减少对服务器的请求数量来提高应用程序的性能。避免每次都调用服务器并缓存数据。存储将来的响应,并在下次致电相同响应时使用。
参考:Response caching in ASP.NET Core和use Response Caching Middleware。
-
减少HTTP请求并使用响应压缩
-
客户端改进
客户端优化是提高性能的重要方面,请考虑以下技巧:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。