【发布时间】:2020-01-09 12:31:19
【问题描述】:
我浏览了react-native的官方文档和其他一些媒体资源和博客,我知道react中有UI Thread和JavaScript Thread -本国的。 Javascript 线程是逻辑将运行的线程,执行 javascript 代码、进行 API 调用、处理触摸事件等等。并且 UI Thread 会更新 UI。 如果 JavaScript 线程正在处理该进程,并且如果我们再次执行按钮操作或任何其他触摸事件,则需要一些时间来响应,在完成一个进程后,只有 UI 更新,直到我觉得它滞后或卡在某个地方。
例如
底部有一个标签导航器,它有四个标签,第一个标签有一个列表视图,第二个标签有显示多个点之间路线的地图视图
我在第一个选项卡中执行了一些按钮操作(单击列表视图中的按钮)并立即导航到第二个选项卡,感觉更新 UI 时有些滞后或需要一些时间(1-3 秒) 从第一个选项卡导航到第二个选项卡
在第二个选项卡中,如果我导航到任何其他选项卡,当此过程正在进行时,地图需要时间(5-10 秒)来获取多个点之间的路线,选项卡之间的导航不流畅且 UI 很多存在滞后。
我们如何让 react-native 应用更快地响应可触摸操作并减少 UI 延迟
是否有任何多线程和后台线程的概念,我们可以在主线程中运行特定的逻辑并更新 UI 以使 react-native 应用程序响应更快而无需任何滞后。
【问题讨论】:
标签: multithreading react-native ui-thread background-thread