我浏览了react-native的官方文档以及一些其他媒体资源和博客,我才知道react-native 中有UI Thread和JavaScript Thread。Javascript线程是逻辑将在其中运行javascript代码的线程,将执行API调用,处理触摸事件等。UI线程将更新UI。 如果JavaScript线程正在处理该过程,并且如果我们再次执行按钮操作或任何其他触摸事件,则需要花费一些时间来进行响应,在完成一个过程之后,仅UI Updates会出现滞后或卡在某处的感觉。
例如
有一个底部标签导航器,它有四个标签,第一个标签有一个列表视图,而地图视图则显示了第二个标签中多个点之间的路线
我在第一个标签页中执行了一些按钮操作(在列表视图中单击类似按钮),然后立即导航到第二个标签页,感觉在更新UI上有些滞后,或者从第一个标签页导航需要一些时间(1-3秒)标签到第二个标签
在第二个选项卡中,如果我导航到任何其他选项卡,则该地图将花费时间(5-10秒)来获取多个点之间的路线。如果我导航到任何其他选项卡,则选项卡之间的导航并不流畅,并且存在大量UI滞后。
我们如何才能使本机应用程序更快地响应可触摸的操作并减少UI滞后
有没有多线程和后台线程的概念,我们可以在主线程中运行特定的逻辑并更新UI,以使本机应用程序更快地响应而不会出现滞后。