React Native Maps <Marker> 组件中的 trackViewChanges 属性到底是做什么用的?

问题描述 投票:0回答:1

我在 expo 50 使用react-native-maps版本1.13.0,所以在渲染自定义标记时,我面临着这里解释的相同闪烁问题4997。当我在标记中设置 trackViewChanges={false} 时,它解决了问题,并且地图的性能也大大提高。有关我的自定义标记的更多信息,它们在其中渲染 jpg 或 png 图像,并且有一个自定义徽章,可以动态更改其顶部的标签。

我的具体问题

  • trackViewChanges 对给定的 Marker 组件到底有什么影响/做什么?

  • 什么时候一定要开启,什么时候关闭?

  • 当标记确实需要移动/更改或重新渲染时,默认将其关闭并使用每个标记提供的 redraw() 方法不是更好吗? trackViewsChanges 的文档中也说明了这一点。

我希望任何对这一切如何运作有更深入了解的人都可以回答

react-native expo react-native-maps
1个回答
0
投票

为了解决您关于闪烁的每个疑问,让我们一次提出一个问题并单独讨论。

问题 1:

trackViewChanges
对于给定的标记组件到底有什么影响/做什么?

tracksViewChanges
控制Marker的视图是否持续刷新。 当它设置为 true 时,标记的内容始终会更新,这对于动画等动态变化非常有用。 将其设置为 false 会阻止标记持续刷新,这可以提高性能,尤其是对于静态内容。

问题2:什么时候一定要开启,什么时候关闭?

打开它:当您需要标记来显示动画或标签更新等动态变化时。 关闭它:当标记的内容不经常更改或在初次更新后,以提高性能并防止闪烁。

问题 3: 当标记确实需要移动/更改或重新渲染时,默认将其关闭并使用每个标记提供的

redraw()
方法不是更好吗?这在
trackViewsChanges
的文档中也有说明。

是的,通常最好默认关闭

tracksViewChanges
并在需要时使用
redraw()
手动触发更新。 这有助于通过减少不必要的更新和提高地图响应能力来优化性能。

© www.soinside.com 2019 - 2024. All rights reserved.