React native 当我使用'require'在React Native中加载图像时,它真的会将图像加载到内存中吗?什么时候发布?
有两种方法可以React native 当我使用'require'在React Native中加载图像时,它真的会将图像加载到内存中吗?什么时候发布?,react-native,require,React Native,Require,有两种方法可以为React Native中的映像组件要求映像 // 1. inline `require` (triggered when using) const IconView = () => <Image source={require('./img/favicon.png')} /> // 2. define a variable for cache (triggered when loading) const imageSource = require('.
为React Native中的映像
组件要求映像
// 1. inline `require` (triggered when using)
const IconView = () =>
<Image source={require('./img/favicon.png')} />
// 2. define a variable for cache (triggered when loading)
const imageSource = require('./img/favicon.png')
const IconView = () =>
<Image source={imageSource} />
//1。内联'require`(使用时触发)
常量图标视图=()=>
// 2. 定义缓存变量(加载时触发)
const imageSource=require('./img/favicon.png')
常量图标视图=()=>
- 两种情况都一样吗李>
- 第二种情况会将整个图像加载到内存中吗李>
- 从
导出的图像何时需要发布
对require
的调用没有多大作用-它返回一个由RN打包机注册并分配给此图像的ID。当图像组件需要渲染时,实际URL将从ID解析
在本机端,图像是从URL加载的,即使在这一点上,图像对象表示也只需要少量内存。只有当图像实际绘制为本机纹理时,图像才会膨胀(解压缩)并完全加载到内存中(当然,除非图像已经缓存)
因此,要回答您的问题:
两种情况都是一样的
第二种情况并不特殊,不会将整个图像加载到内存中
当图像视图的本机表示被释放时,图像将被释放,除非它被缓存在内存中(在某些情况下,本地图像在内部被缓存),此时操作系统需要在必要时释放内存
注意:上面的一些信息是从iOS的角度来看的,但在Android上也应该足够接近