教你 Jsimport 如何实现 懒加载 和 预加载

教你 Jsimport 如何实现 懒加载 和 预加载,第1张

在项目中引入 js 文件一般是如下这种模式皮陆:

加载

当御握猜文件被需要时才被加载即 执行fn()时,多次执镇型行fn()只会加载一次js文件

预加载:

文件会在浏览器空闲的时候提前加载,有兼容性问题需慎用

1、压缩配置文件:将配置文件进行压缩,可以减小文件大小,提高加载速度。可以使用gzip等压缩工具对文件进行压缩,然后在游戏中解压缩加载。

2、分离配置文件:将配置文件进行分离,只加载当前场景或关卡需要的配置文件,可以减少不必要的文件加载。

3、预加载:在游戏加载之前,将一些必要的配置文件进行预加载,可以提前缓存数据,减少后续和历加载时间唤高搜。

4、资源合并:将多个小的配置文件进念谨行合并,可以降低文件数量,减少加载时间。

5、懒加载:在游戏运行过程中,根据需要进行懒加载,只在需要的时候才加载对应的配置文件,可以减少初始加载的时间。

         Spring默认在启动时立即实例化配置的bean,要修改为懒加载(在实际使用的时候实例化).

0.1 在xml配置中:

0.2 在JavaConfig配置中:

0.3 SpringBoot中指定bean的懒加载,可以在对应的类上直接使用@Lazy

         那么SpringBoot中如何全局配置懒加载呢?

         通过在stackoverflow上查找, 发现的答案是, 在启动类SpringbootApplication上加上@Lazy注解即可. 原来注解@SpringBootApplication是@Configuration, @EnableAutoConfiguration和@ComponentScan注解的合体.

而这个SpringbootApplication本身就是个配置类, 所以在上面加@Lazy注解理论上是可以的.果然是直观的东西不方便, 方便的东西不直观.

1.1 错误方式一:

执行 gradle bootRun 启动应用, 发现输出了

也就是说配置并没有生效. 但是so上的回答一般不会是错的. 那会是哪里出了问题呢?

1.2 方式一修正

不使用@Component, 而是在配置文件中声明bean:

这种方式实现了懒加载,但是这跟 0.2 中的方式是一样的.

1.3 方式二

spring2.2 中引入了一个application.properties中的新属性.

spring.main.lazy-initialization=true 来指定整个应用的懒加载.

这种方式型昌不论是@Component声明的bean,还是@Bean声明的bean, 都可以实现懒加载.

虽然 懒加载可以提升应用的启动速度, 但是不利于尽早的卜举扒发现错误, 对于HTTP请求, 首次访问答烂的响应时间也会增长.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8166987.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存