当前位置: 首页 > news >正文

自助建站平台怎么制作图片链接

自助建站平台,怎么制作图片链接,怎么样推广自己的公司,做商贸网站requestIdleCallback 是浏览器提供的一种优化主线程任务调度的 API#xff0c;它允许开发者在浏览器主线程空闲时段执行低优先级任务#xff0c;从而避免阻塞关键渲染、动画或用户交互。以下是其核心原理、应用场景及使用指南#xff1a; 一、核心原理 空闲时段#xff08…requestIdleCallback 是浏览器提供的一种优化主线程任务调度的 API它允许开发者在浏览器主线程空闲时段执行低优先级任务从而避免阻塞关键渲染、动画或用户交互。以下是其核心原理、应用场景及使用指南 一、核心原理 空闲时段Idle Periods 浏览器每帧约 16ms的工作流程 #mermaid-svg-bcHkZZCHW9en8oX1 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .error-icon{fill:#552222;}#mermaid-svg-bcHkZZCHW9en8oX1 .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-bcHkZZCHW9en8oX1 .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-bcHkZZCHW9en8oX1 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-bcHkZZCHW9en8oX1 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-bcHkZZCHW9en8oX1 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-bcHkZZCHW9en8oX1 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-bcHkZZCHW9en8oX1 .marker{fill:#333333;stroke:#333333;}#mermaid-svg-bcHkZZCHW9en8oX1 .marker.cross{stroke:#333333;}#mermaid-svg-bcHkZZCHW9en8oX1 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-bcHkZZCHW9en8oX1 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .cluster-label text{fill:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .cluster-label span{color:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .label text,#mermaid-svg-bcHkZZCHW9en8oX1 span{fill:#333;color:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .node rect,#mermaid-svg-bcHkZZCHW9en8oX1 .node circle,#mermaid-svg-bcHkZZCHW9en8oX1 .node ellipse,#mermaid-svg-bcHkZZCHW9en8oX1 .node polygon,#mermaid-svg-bcHkZZCHW9en8oX1 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-bcHkZZCHW9en8oX1 .node .label{text-align:center;}#mermaid-svg-bcHkZZCHW9en8oX1 .node.clickable{cursor:pointer;}#mermaid-svg-bcHkZZCHW9en8oX1 .arrowheadPath{fill:#333333;}#mermaid-svg-bcHkZZCHW9en8oX1 .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-bcHkZZCHW9en8oX1 .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-bcHkZZCHW9en8oX1 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-bcHkZZCHW9en8oX1 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-bcHkZZCHW9en8oX1 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-bcHkZZCHW9en8oX1 .cluster text{fill:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 .cluster span{color:#333;}#mermaid-svg-bcHkZZCHW9en8oX1 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-bcHkZZCHW9en8oX1 :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} JavaScript执行 样式计算 布局 绘制 合成 当一帧任务提前完成如只用了 10ms剩余的 6ms 即为 “空闲时段”。 回调执行条件 主线程无紧急任务如渲染、事件处理当前帧有空闲时间开发者设置的任务超时可选 二、适用场景 场景为何适合 requestIdleCallback日志上报非关键任务可延迟执行数据预取提前加载下一页资源不影响当前交互非关键数据统计如用户行为埋点允许延迟DOM 变更非渲染相关如隐藏元素的修改不影响布局/绘制缓存清理低优先级后台任务 三、API 用法 // 注册空闲任务 const idleId requestIdleCallback((deadline) {// deadline 包含两个关键属性// - timeRemaining(): 当前帧剩余时间ms通常 0// - didTimeout: 是否因超时被强制执行while (deadline.timeRemaining() 0 tasks.length 0) {performLowPriorityTask(tasks.pop()); // 执行任务}if (tasks.length 0) {requestIdleCallback(processTasks); // 任务未完成继续注册} }, { timeout: 2000 }); // 可选设置超时单位 ms// 取消任务 cancelIdleCallback(idleId);四、关键注意事项 任务必须可拆分 单次任务耗时需控制在 几毫秒内避免阻塞下一帧。若任务队列较长应在 timeRemaining() 耗尽时退出下次空闲时继续。 超时timeout的风险 { timeout: 1000 } // 若1秒内未触发空闲则强制立即执行强制触发可能中断用户交互慎用超时 避免操作 DOM 空闲期间修改 DOM 可能触发重排/重绘抵消性能收益。非可视化操作如数据处理更安全。 兼容性 不支持 IE/旧版 Edge需降级方案window.requestIdleCallback window.requestIdleCallback || (cb) setTimeout(cb, 0); // 降级为 setTimeout五、与类似 API 对比 API触发时机适用场景requestIdleCallback主线程空闲时低优先级后台任务requestAnimationFrame下一帧渲染前动画/视图更新setTimeout指定延迟后通用延迟任务Web Workers独立线程随时可运行CPU 密集型计算 ✅ 最佳实践 动画用 rAF → 紧急任务用 setTimeout → 后台任务用 rIC 六、实战示例分片处理大数据 function processLargeData(data) {const chunks splitData(data, 100); // 拆分为小块function processChunk(deadline) {while (deadline.timeRemaining() 0 chunks.length 0) {const chunk chunks.pop();calculate(chunk); // 处理当前块}if (chunks.length 0) {requestIdleCallback(processChunk);} else {console.log(All data processed!);}}requestIdleCallback(processChunk); }七、浏览器调度策略 浏览器可能因以下原因跳过空闲回调 用户突然交互点击、滚动定时器setTimeout到期网络请求完成当前帧无足够空闲时间 ⚠️ 永远假设回调可能不会执行如页面始终繁忙关键逻辑需冗余设计。 总结何时使用 requestIdleCallback ✅ 任务可延迟且非关键✅ 单次执行时间 5ms✅ 避免操作 DOM/影响渲染❌ 动画更新 → 用 requestAnimationFrame❌ CPU 重任务 → 用 Web Workers 通过合理利用空闲时间requestIdleCallback 能显著提升页面流畅度尤其在低端设备上效果更明显。
http://www.hkea.cn/news/14344358/

相关文章:

  • 免费帮朋友做网站方案解决网站
  • 汕头网站建站公司漯河市网站建设
  • node.js 网站开发移动端网站建设
  • 海誉网站定制wordpress iis 分页 404
  • 国外外包网站网站建设的潜在客户
  • 南宁武鸣区建设局网站怎么做微信小说网站吗
  • 贵州最好的网站建设推广公司东莞市卫生健康局
  • 营销型网站设计制作东营局域网设计
  • 西安便宜的网站建设什么叫关键词
  • 深圳福田商城网站建设公司网站建设方案书
  • 制作网站首先做的工作网站设计 图片
  • 专业做淘宝网站公司网站的网络营销推广方案
  • 网站换程序 搜索引擎自己做网站运营
  • 株洲市网站建设php网站开发实例教程 源代码
  • 龙中龙网站开发php毕业设计代做网站
  • 免费发布招聘信息的平台有哪些西安seo公司
  • 药业集团网站建设方案大型网站开发技术
  • 俄文手机网站制作网站建设规划设计
  • 淮安网站网站建设wordpress 获取分类列表
  • 网站建设和管理情况调查表宠物网站建设方案书
  • 如何做自己官方网站端网站建设
  • 徐汇网站开发旅游网站系统设计
  • 都昌县建设局网站做网站的名字大全
  • 辽宁省住房和城乡建设厅网站首页科技创业创新心得
  • 网站收费吗疏肝益阳胶囊有哪些功效与作用
  • 公司网站设计素材vi设计公司联系方式
  • 一般电商网站做集群推广网站企业
  • 网站建设需要的材料工地找工作哪个软件好
  • 青岛网站建设推广公司中国建筑协会证书查询
  • 南阳网站推广外包上海的网络推广公司