lynx: requestResourcePrefetch() static method
- 该 API 用于前端主动发起 CDN 资源的预加载,目前只支持 image, video, audio, font 四种资源类型。
- 预加载的资源并不会通过此 API 返回给前端,而是保留在内存或磁盘中。因此预加载完成后,需要通过一个唯一的 key 给组件指定资源:
- image 资源的 key 与其预加载时的 uri 参数一致。渲染时,将这个 key 传给 <image> 组件的 src 属性,使得组件能够找到该资源。
语法
参数
data
一个描述了所有要预加载的资源详情的合集,它的 key 定义如下:
data:类型array,array内部每个 item 对应一个资源。每个 item 内的 key 定义如下uri:类型string,表示资源的 CDN 地址。type:类型string,表示资源的类型, 支持的资源类型定义如下image:图片资源(iOS 需要打开 Image 组件的 trailNewImage 开关才能预加载图片)video:视频资源audio:音频资源font:字体资源
params(可选):资源预加载的自定义控制参数,支持的参数如下priority(可选):仅用于image类型的资源。表示网络请求优先级。如果请求优先级为 high,那么在图片库预加载这些图片时,其他的图片的请求会被阻塞等待,可能导致其他图片的展示变慢。所以如果预加载的这些图片如果不是马上需要展示的,可以把优先级调低。支持的选项如下high:高优先级medium:中优先级low:低优先级,这是默认值
cacheTarget(可选):仅用于image类型的资源。表示资源保存的形式。支持的选项如下disk:资源预加载完成后保存于磁盘,这是默认值。bitmap:资源预加载后解码成 bitmap 保存于内存。(** 注:现在 Android bitmap 缓存暂不能生效 **)
preloadKey:仅用于video,audio类型的资源。表示标识该资源的唯一的 key。渲染 <view-engine> 组件时,需要为其指定这个 key,这样组件才能找到预加载的资源缓存。必选参数。size(可选):仅用于video类型的资源。表示预加载的尺寸大小,默认值为 500 * 1024(字节)
callback
API 执行完成或失败后调用的回调函数。它的回参内部定义如下:
code:类型number,状态码,它可能取值如下0:成功11001:参数错误
msg:类型string,全局错误信息details:类型array,里面每个 detail 表示一个资源的预加载状态详情,detail 内部定义如下code:类型number,状态码,它可能取值如下0:成功11001:参数错误
msg:类型string,错误信息uri:类型string,表示资源的 CDN 地址。type:类型string,表示资源的类型,资源类型定义如下image:图片资源video:视频资源audio:音频资源font:字体资源
返回值
无(undefined)。
异常
- 当出现参数错误时,
code会返回11001错误码,并且在msg中有详细错误信息。
示例
兼容性
LCD tables only load in the browser