Fabric: Stop preallocation views on the main thread

Summary:
There is no reason to allocate views ahead of time on the main thread.

There is a chance that this view will not be mounted and we are not saving any time because it's a sequential process anyway (because we are doing it on the main thread). Moreover, the switching context can only slowdown JS execution.

Reviewed By: JoshuaGross

Differential Revision: D14019433

fbshipit-source-id: 83ac05a91e4b70cb382a55d6687752480984404e
This commit is contained in:
Valentin Shergin 2019-02-11 12:14:52 -08:00 committed by Facebook Github Bot
parent 392e89676f
commit bf58ba96f4
1 changed files with 5 additions and 0 deletions

View File

@ -178,6 +178,11 @@ using namespace facebook::react;
- (void)optimisticallyCreateComponentViewWithComponentHandle:(ComponentHandle)componentHandle
{
if (RCTIsMainQueue()) {
// There is no reason to allocate views ahead of time on the main thread.
return;
}
RCTExecuteOnMainQueue(^{
[self->_componentViewRegistry optimisticallyCreateComponentViewWithComponentHandle:componentHandle];
});