在我的React Native应用程序中,我有一个组件在componentDidMount
中执行繁重的任务。该函数处理时间序列,因此它们是相当大的对象。我们看到的问题是:当组件安装并且函数开始执行时,应用程序UI冻结。只有组件的ScrollView
工作,所有Touchables
冻结,TabNavigator也停止工作,直到函数结束执行并返回。执行结束后,应用程序正常工作。
无论如何我能解决这个性能问题吗?
您可以尝试分解多个部分中的工作负载并将它们放入队列中。然后在每个作业之间使用较小的setTimeout延迟处理队列。这将为UI提供响应时间。
另一种选择是将工作卸载到本机代码,以便它可以在不同的线程中运行。