1

我的应用程序中有一个使用图像作为背景的组件。该组件是一个聊天屏幕,用户可以在其中查看以前的消息并发送新消息。该组件连接到 redux 存储。组件在高层次上看起来像这样

// Chat screen
<Image>
  <Messages />
  <TextInput />
</Image>

每次用户键入任何内容时,都会重新呈现聊天屏幕组件。有时,用户报告在输入和在屏幕上看到输入的字符时出现延迟。我在想是否是因为Image每次用户键入内容时都会重新渲染,如果将Messagesand提取TextInput到一个单独的组件中并将其连接到 redux 存储,这样Image就不会重新渲染当用户打字时。

如果它不会影响性能,我不想进行此更改,并且我没有确定的方法来衡量该更改是否影响了性能,因为滞后是非常间歇性的。

如果您认为这会影响组件的性能,请告诉我。

4

1 回答 1

1

使用图像作为背景可能会导致性能问题,尤其是在 Android 上。使用缩小的图像作为背景。TextInput此外,尝试通过为其制作包装器来封装对组件的状态更改。FlatList用于Messages组件也是一个好主意。

于 2017-09-01T15:37:01.853 回答