小白请教,通过远程url获得的图片,H5平台 会缓存在本地吗?

根据程序设计的要求,有一个页面上的图片是通过远程url获取的,这样就造成每次打开应用,都会请求一次远程的图片,这样流量有点伤不起,请教下,我在creator中通过远程url获取的图片,会自动缓存在本地吗?
使用cc.loader.load();
1,如果不重启App(不重启浏览器或者不重新打开页面), url不变,用同样的方式 load这张图片,会从服务器上再下载一次吗?
2,如果重启了App(重启浏览器或者重新打开页面), url不变,用同样的方式 load这张图片,会重新下载吗?
3,如果本地有缓存,服务器上的图片内容变了,但是url没变,会重新下载吗?
4,如果本地有缓存,服务器上的图片内容变了,url也变了,会重新下载吗?

以上是H5时候,如果发布成app应用
5,如果在原生平台上,缓存功能是不是要自己写?

  1. 在浏览器中会缓存下来, 下次不会再向服务器请求, 但是浏览器的缓存可能会失效.
  2. 原生平台需要自己做缓存功能, 但是现在 creator 没有很方便的 api 做这件事情.

浏览器一般不会自己缓存下来,需要运维在后台配上相应的字段才行

我曾经拿cocos creator做过一个手机app用来浏览,下载图片当壁纸,上面的图片全放在腾讯云上,用url的这种来获取,在安卓机上,每次请求图片都要下,但是再请求同一张就不用了,同时关了app在上就要重新下,确实挺费流量,而且在下载中的话你切到后台,他就不下载了,要在load完成回调里加东西让他在后台回来重新下,挺麻烦的,如果图片小例如头像什么的还好,如果图片多,大,流量走的挺多的

就是说在原生平台上 是不缓存到本地的,重启App后就都得重新下载了,是吧?
那在浏览器中呢,我今天下载了这张图片,明天再load的时候,还会重新下载吗?

原生平台都是保存在本地的,不会重新下载,浏览器根据浏览器缓存机制,一般图片也是缓存的,不会再次下载,这些信息都可以通过服务器流量观察到。

1赞

了解了 多谢多谢

请问 cc.loader.load 加载远程图片后,缓冲的本地目录在哪里,可以拿到么,我原生底层需要用到这张图