React Native是否缓存远程图像?

时间:2016-03-04 05:37:31

标签: android ios caching react-native

React Native是否缓存远程图像?

我有一个可远程下载数十张图片的应用。这些图像似乎在我的应用程序中缓存,但是,我不确定它是默认情况下正在执行此操作的操作系统,还是React Native正在缓存它们。

如果它是React Native,有没有办法自定义它们被缓存多长时间?或者远程服务器是否定义了这个?

2 个答案:

答案 0 :(得分:3)

它不是直接的ReactNative,它只是fetch来缓存工作。但是,fetch行为也依赖于服务器设置(大多数时候cache标头)。有关fetch API的更多信息(有关如何在Request标头中定义cache的很好示例)here

答案 1 :(得分:0)

您可能对我的高阶组件模块感兴趣,该模块将与性能相关的图像缓存和“永久缓存”功能添加到本机< Image>零件。它是跨平台,而< Image>的标准缓存功能。在android vs ios上有所不同,除了没有文档记录之外,似乎也发生了很大变化。

React Native Image Cache HOC

Tl; DR代码示例:

def desimplify(molecule):

    # function-scope var to hold final result, won't be overwritten in loop
    result = ''

    # consume input token by token
    for token in molecule:

        if token.isalpha():
            # token under cursor is letter, append to result
            result += token

        elif token.isdigit():
            # token under cursor is digit, use as multiplier

            # we have already appended one token, so use one less!
            mult = int(token) - 1

            # apply the multiplier to the preceeding token in the input
            result += (mult * previous)

        # store current token for next iteration, when we might need to multiply it
        previous = token

    return result
  

有没有办法自定义缓存的时间

上面代码示例中的第一个图像将被缓存,直到总局部缓存增长超过15 MB(默认情况下),然后缓存的图像将被删除最早,直到总缓存再次低于15 MB。

第二张图像将永久存储到本地磁盘。人们使用此功能替代您的应用程序运送静态图像文件。