繁体   English   中英

React-native:如何在tvOS中实现图像缓存?

[英]React-native: How to implement caching for image in tvOS?

React-native:如何在tvOS中实现图像缓存?

我想实现我在互联网上下载的图像缓存,如何用apple tv做到这一点? 我尝试了很多库,但是任何人都与苹果电视兼容

您必须使用AsyncStorage手动执行缓存。 您可以使用AsyncStorage.setItem添加必须缓存到存储的对象,并使用AsyncStorage.getItem返回对象。 这两个函数都将返回promise。

// cache item
try {
  await AsyncStorage.setItem('@MyAppCache:myKey', myItem);
} catch {
  //couldn't cache item, handle it
}
// retrieve item from cache
try {
  const myItem = await AsyncStorage.getItem('@MyAppCache:myKey');
} catch {
  //didn't find item in cache, download from the internet
}

如果这看起来太低级,那么围绕AsyncStorage有一些非常好的包装器,例如react-native-storage ,它提供了一些好东西,比如在缓存项目上设置过期日期,查询批处理和其他东西。

反应原住民FS现在兼容tvOS 看到 所以现在你可以使用任何使用它的库!

例如, react-native-cacheable-image

您需要安装并链接react-native-fs ,只需键入:

npm install react-native-fs --save # install react-native-fs
react-native link react-native-fs #link native module

现在您可以安装react-native-cacheable-image

npm i react-native-cacheable-image --save

像这样导入这个库:

import CacheableImage from 'react-native-cacheable-image'

现在您可以使用JSX创建这样的图像:

 <CacheableImage
            style={{height:20}}
            source={{uri: "http://www.foobar.com/defaultImage.jpeg"}}
        >

根据您的设备有一些规范,请参阅react-native-cacheable-image的文档

我希望我的回答很有帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM