在我们开发的过程中,应该始终考虑性能xbaixing.com。而本文列举了有效提高系统性能的12个方法,如果朋友们有更多的技巧请在吴小迪的博客下方评论,谢谢。
性能是创建网页或应用程序时最重要的一个方面。没有人想要应用程序崩溃或者网页无法加载,或者用户的等待时间很长。根据Kissmetrics,47%的访问者希望网站在不到2秒的时间内加载,如果加载过程需要3秒以上,则在40%的访问者会离开网站。
考虑到以上这些数字,你在创建Web应用程序时应始终考虑性能。为了帮助你开始,以下提供了有效提高应用程序性能的12种方法:
一:在浏览器中缓存
要这样做有俩种选择。第一种是使用JavaScript Cache API,我们可以安装service worker来使用它。第二种是使用HTTP协议缓存。
访问某个对象通常要用脚本。通过把重复访问的对象存储在用户定义的变量中,以及在后续对该对象的引用中使用变量,可以立即实现性能的提升。
二:定义执行的上下文
为了有效地衡量你在程序中加入的任何改进,你必须创建一组定义良好的环境,以便测试代码性能。
对所有JavaScript引擎的所有版本进行性能测试和优化实际上是不可行的。但是,在单一的环境中进行测试并非一个好习惯,因为你可能会得到片面的结果www.xbaixing.com小百姓网。因此,建立多个定义良好的环境并测试代码是否有效非常重要。
三:删除未使用的JavaScript
此步骤不仅会缩短传输时间,还会缩短浏览器分析和编译代码所需的时间。为此,你必须考虑以下几点:
如果你检测到一个用户未使用的功能,最好删除所有与之相关的JavaScript代码,这样网站的加载速度会更快,用户也有更好的体验。
还有可能,你错误地加入了一个并不需要的库,或者你有依赖项,这些依赖项提供的功能在所有浏览器中原本就有,那么你无需再增加多余的代码。
四:避免使用太多内存
你应该始终给内存加一条限制,那就是只有绝对必须的内容才能使用内存,因为你无法知道运行应用程序的设备到底需要多少内存。只要你的代码要求浏览器保留新的内存,浏览器的垃圾收集器就会被执行,并停止JavaScript的运行。如果经常发生这种情况,页面将变慢。
五:推迟不必要的JS加载
用户希望页面快速加载,但并非所有函数都需要在页面的初始加载时就可用。如果用户必须执行某个操作才能执行某个函数(例如,通过单击某个元素或更改选项卡),那么你可以将该函数的加载推迟到初始页面加载之后。
通过这种方式,你可以避免加载和编译那些会延迟页面初始显示的 JavaScript 代码。页面完全加载后,我们可以再开始加载这些功能,以便它们在用户开始交互时立即可用。在 RAIL 模型中,Google 建议将此延迟加载以 50 毫秒为单位进行,这样就不会影响用户与页面的交互。
六:避免内存泄漏
如果内存正在泄漏,则加载的页面将保留越来越多的内存,并最终占用设备的所有可用内存并严重影响性能小+百+姓+网。你可能见过此类故障(并且可能对此类故障感到懊恼),例如在带有轮播或图像滑动条的页面上。
在 Chrome 开发者工具中,你可以通过在“性能”标签中记录时间线来分析你的网站是否存在内存泄漏。通常,内存泄漏的原因是,你从页面中删除了 DOM,但有一些变量还在引用这些 DOM,因此,垃圾收集器无法消除它们。
七:适当的使用Web worker
当你执行耗时很长的代码时,请使用 Web worker。根据 Mozilla 开发人员网络 (MDN) 文档:“Web Worker 可以在与 Web 应用程序的主执行线程分开的后台线程中运行脚本操作。这样做的好处是你可以在一个单独的线程中执行耗时又费力的的处理,同时让主(通常为 UI)线程运行而不被阻塞或减慢。”
Web worker 允许代码执行处理器密集型计算,而不阻塞用户界面线程。Web Worker 允许你生成新线程并将工作委托给这些线程以获得高效的性能。这样,通常会阻碍其他任务且需要长时间运行的任务将被传递给 worker,从而让主线程可以在无阻碍的情况下运行。
八:适当将DOM元素保存在局部变量中
访问 DOM 会很慢。如果要多次读取某元素的内容,最好将其保存在局部变量中。但记住重要的是,如果稍后你会删除 DOM 的值,则应将变量设置为“null”,不然会导致内存泄漏。
九:优先访问局部变量
JavaScript 首先搜索以查看变量是否存在于本地,然后才在更高级别的作用域内逐步搜索到全局变量为止x b a i x i n g c o m。将变量保存在本地作用域内能让 JavaScript 更快地访问它们。
局部变量是基于最具体的作用域的,并且可能会穿过多个级别的作用域,因此查找这一动作可能导致出现通用的查询。在一个它前面没有变量声明的局部变量中定义函数作用域时,需要在每个变量之前加上 let 或 const,以便定义当前作用域,防止查找并加速代码执行。
十:避免使用全局变量
因为脚本引擎在从函数或其他作用域内引用全局变量时需要逐一查看作用域,所以当本地作用域丢失时,该变量将被销毁。如果全局作用域中的变量无法在脚本的生命周期内持续存在,则性能将得到改善。
十一:实施一些优化方案
始终使用计算复杂度最低的算法和最佳的数据结构来解决任务。
重写算法以获得相同的结果和更少的计算。
避免递归调用。
给重复的函数加入变量、计算和调用。
分解和简化数学公式。
使用搜索数组:用它们来获取基于另一个的值,而不是使用 switch/case 语句。
使条件总是更有可能为真,以更好地利用处理器的推测执行。
如果可以,请使用位级运算符替换某些操作,因为这些运算符的处理周期较短www.xbaixing.com。
十二:使用工具检测问题
Lighthouse 是一个很好的网页性能工具,它可以帮助你审核性能、可访问性、最佳实践和 SEO。谷歌 PageSpeed 旨在帮助开发人员了解网站的性能优化和潜在可改进的方面。这些组件旨在识别网站是否符合 Google Web 性能最佳实践,以及将调整过程自动化。
在 Chrome 中,你还可以使用主菜单中的“更多工具”选项来查看每个选项卡使用的内存和 CPU。对于更高级的分析,你可以使用 Firefox 或 Chrome 中的开发人员工具“性能”视图来分析不同的指标,例如:
devtools 的性能分析允许你在加载页面时模拟 CPU 消耗、网络和其他指标,以便识别和修复问题。
为了更深入地了解,建议你使用 JavaScript Navigation Timing API,它允许你详细测量代码的每个部分从编程本身中获取的内容。
对于基于 Node.js 构建的应用程序,NodeSource Platform 也是一种非常好、影响低的方式,它可以在非常精细的级别上探索应用程序性能。
全面的 Node.js 指标可帮助你识别内存泄漏源或其他性能问题,并更快地解决这些问题。
最后的说明在代码的可读性和优化之间保持平衡很重要。代码由计算机解释,但我们需要确保代码将来可以由我们自己或其他人维护,因此它们需要易于理解。更多文章就在蓝蓝设计每日一贴。蓝蓝设计为企业提供卓越的大屏设计、UI界面设计、BS界面设计、cs界面设计、用户体验、交互设计、网站建设、包装设计计、图标定制、平面设计服务。
您可以直接联系优秀的软件ui设计提供者北京蓝蓝设计
欢迎访问,开始愉快的合作!

通州好师傅陪练公司1591-073尾号6625免费接送,全程一对一(中途不接送其他学员变相拼车),针对刚取得jia照无法独立上路、及持有驾照多年所学的全忘记、胆小女司机等实施教学。全部实际道路拒绝原地

北三县陪练公司免费接送1591-073尾号6625专门针对新手及胆小女士、驾照搁置多年零基础学员等进行实际道路驾驶陪练。可由我方提供车及学员自带均可,我方车辆配有专业副刹,学员车辆我方可免费无损提供及

李姐回收冬虫夏草东阿阿胶微信号《138,1133,7577》冬虫夏草 九朝贡胶 5X极草含片,近期东阿阿胶,老阿胶 回收冬虫夏草 qq 59,388,9206 高价收购同仁堂总统牌70克90克礼盒燕窝,各种5A???6A级散装马来西亚燕窝。毛燕、燕条、燕碎、泰国洞燕。同仁堂虫草22.5克25克40克60克80克120克,专业回收山东东阿阿胶、北京同仁堂阿胶、福牌阿胶,价格面议。

位于顺义区腾仁路22号,闽京蒲企业园一期,新建五层标准厂房5000平出租,单层1265平,高4.5-6米,柱距8.1米,配3吨货梯。国有工业用地,50年产权,可注册和环评,配套有餐厅、宿舍、超市、银行

【园区优势】5层正规厂房,首层高6米,二三层高4.5米,四五层高4米,一层面积有1265平,二三层面积1265平,高端大气,科技感十足的设计。均可进行工商注册,环评等手续。园区所有楼层面积大小可按客户

专业制作钢结构阁楼,家庭阁楼,加层钢结构阁楼、钢混结构阁楼,钢木制作结构阁楼,楼梯钢结构,陶粒混凝土现浇阁楼.承接大型车间厂房,室外钢结构加层加顶工程,多年制作经验,实力雄厚,专业设计师现场测量。

北京跃凯专业制作钢结构阁楼,家庭阁楼,加层刚结构阁楼、钢混结构阁楼,钢木制作结构阁楼,楼梯钢结构,陶粒混凝土现浇阁楼.承接大型车间厂房,

当贝售后服务 当贝投影维修站点 当贝投影仪不开机 当贝投影仪开机不显示 当贝投影仪红屏 当贝投影仪开机黑屏当贝投影仪客服服务 当贝投影仪自动关机 当贝投影仪发烫

瑞格尔售后服务 瑞格尔投影维修站点 瑞格尔投影仪不开机 瑞格尔投影仪开机不显示 瑞格尔投影仪红屏 瑞格尔投影仪开机黑屏瑞格尔投影仪客服服务 瑞格尔投影仪自动关机 瑞格尔投影仪发烫

燕郊人才引进落户手续:取得大专以上学历,需提供以下手续办理燕郊落户。

早期教育指导师,感统指导师,奥尔夫音乐指导师,蒙台梭利指导师,职业园长,初级中级保育员,有限空间,空调运行维修,电工焊工,蜘蛛人,架子工。联系电话:李菲老师 15718893591 (微信同号)QQ:1821966242

北京考电工证正规报名机构专场考试近期取证证书全国通用,联网查询。正规权威指导。我培训中心长期开班报名,是指定的电工焊工培训中心,让您没有后顾之忧。全国招生 报名咨询:李菲老师 电话:15718893591微信同步 工作QQ:1821966242欢迎您的咨询报名条件:

李姐回收冬虫夏草东阿阿胶微信号《138,1133,7577》冬虫夏草 九朝贡胶 5X极草含片,近期东阿阿胶,老阿胶 回收冬虫夏草 qq 59,388,9206 高价收购同仁堂总统牌70克90克礼盒燕窝,各种5A???6A级散装马来西亚燕窝。毛燕、燕条、燕碎、泰国洞燕。同仁堂虫草22.5克25克40克60克80克120克,专业回收山东东阿阿胶、北京同仁堂阿胶、福牌阿胶,价格面议。

李姐回收冬虫夏草东阿阿胶微信号《138,1133,7577》冬虫夏草 九朝贡胶 5X极草含片,近期东阿阿胶,老阿胶 回收冬虫夏草 qq 59,388,9206 高价收购同仁堂总统牌70克90克礼盒燕窝,各种5A???6A级散装马来西亚燕窝。毛燕、燕条、燕碎、泰国洞燕。同仁堂虫草22.5克25克40克60克80克120克,专业回收山东东阿阿胶、北京同仁堂阿胶、福牌阿胶,价格面议。

李姐回收冬虫夏草东阿阿胶微信号《138,1133,7577》冬虫夏草 九朝贡胶 5X极草含片,近期东阿阿胶,老阿胶 回收冬虫夏草 qq 59,388,9206 高价收购同仁堂总统牌70克90克礼盒燕窝,各种5A???6A级散装马来西亚燕窝。毛燕、燕条、燕碎、泰国洞燕。同仁堂虫草22.5克25克40克60克80克120克,专业回收山东东阿阿胶、北京同仁堂阿胶、福牌阿胶,价格面议。

北京市《登门全市区≥县≥乡镇≥街道≥回收冬虫夏草》V话号136≮991≯22221同号≤包装≥瓶≥盒≥罐≥袋≮兜等≯大小比如2条、3条、4条、5条等等条。同仁堂及其它品牌系列常见包装规格10克、12克

通州区《回收冬虫夏草》V:136-991-22221话同号同步到北京辖市:区:县:乡镇街道收购燕窝、海参、片子癀、东阿阿胶等礼品。同步在150个街道、143个镇、33个乡、5个民族乡有回收、出售冬虫夏

本公司纪律严明,技术过硬,每位教练都会为您献上一份爱心,耐心,细心,诚心,让您充分享受驾驶乐趣。教练团队资质:部队服务多年的教官,国宾车队效力过的高级驾驶员。公司为了提高对学员的驾驶体验,同时为挑选优秀的教练,更好的服务于学员。“一对一”量身定做教学计划:

我公司是一家依托驾校成立的专业汽车陪练公司,拥有资深的教练员队伍、各种车型的陪练车和专业的驾驶训练场地。车辆备有副刹、全额保险,并免费上门接送。陪练过程中发生刮蹭事故由公司负责。我们愿为您熟练掌握驾驶技术竭诚服务。
通州张师傅陪练代驾服务简介:1371607尾号0650张教练北京人24年驾龄从事汽车陪练工作多年,成功指导新手上路超千人。持有A2Ejia照另持有道路运输从业资格证、出租汽车驾驶员证、教练员证等,安全


网站建设、小程序开发、APP开发、办公系统开发、定制开发-源码交付...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。欢迎访问,开始愉快的合作!...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。http://www.lanlanwork.com/...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。http://www.lanlanwork.com/...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。http://www.lanlanwork.com/...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。...

北京蓝蓝设计是一家专注而卓越的UI界面设计公司,以良好的服务为众多优秀企业提供卓越的UI咨询、竞品分析、交互设计、UI界面设计、嵌入式显示屏界面设计开发、图标icon设计、大型网站设计、用户体验、开发实施....是一家从用户研究、交互设计及优化咨询、软件和网站视觉设计、界面开发实施全方位提供解决方案的创新型设计公司。http://www.lanlanwork.com/...
北京跳起科技有限公司,是集APP,小程序建设、软件开发、网站建设、网络工程、系统集成和维护服务于一体的高科技IT企业。是国内专业的电商软件开发、服务提供商。 建立了一整套标准化APP小程序为基础的&a...