延迟加载
延迟加载是一种编程技术,会延迟加载资源,直到需要使用它们时才加载。一个常见示例是,网页会延迟加载图像,直到用户滚动到页面中图像所在的位置。延迟加载可用于 Web 和软件程序,例如移动和桌面应用程序。
Web 上的延迟加载
在网页中延迟加载图像可以加快加载速度,因为浏览器不需要加载不可见的图像。用户滚动页面时,图像会动态加载。这是通过使用JavaScript实现的:它会检测每个图像的位置,并确定图像是否位于浏览器窗口的可视区域内。如果用户向下滚动到某个图像,JavaScript 会从Web 服务器请求该资源,并在页面上显示图像。如果用户没有向下滚动,该图像就不会加载。
也可以延迟加载其他资源,例如 JavaScript 文件、CSS,甚至HTML本身。例如,Web 开发人员可能会确定网页“首屏”内容所需的 CSS 样式,即在典型浏览器窗口高度内可见的内容所需的样式。开发人员可以将这些样式实现为“内联样式”,也就是在网页 HTML 中定义的样式。页面加载完成后,或者用户开始滚动后,可以使用 JavaScript 加载其他 CSS。
延迟加载视频在 Web 上也很常见。这种方式尤其有效,因为视频文件通常是网页中加载的最大资源。Web 服务器不会将整个视频发送到客户端设备,而只会在用户观看视频时发送其中的小部分。YouTube 和 Vimeo 等热门视频分享网站会使用延迟加载,以减少带宽使用量,并防止用户下载超出需要的视频内容。对于使用按流量计费的 Internet 连接的用户,例如使用移动数据套餐的用户,这尤其有帮助。
软件程序中的延迟加载
虽然延迟加载在 Web 上越来越常见,但它早已被用于软件开发。例如,操作系统可能只显示文件夹中可见图标的缩略图。类似地,图像查看程序可能只加载照片库中可见的图像。这样可以减少内存使用量并提高应用程序性能,因为程序不会加载不必要的数据。
测试你的知识