34ec6a91a9
Summary: Previously, if a module implemented `setBridge:` we assumed that it needs to be initialised on the main thread. This assumption was not really warranted however, and it was a barrier to deferring module initialization. This diff tweaks the rules so that only modules that override `init` or `constantsToExport**` are assumed to require main thread initialization, and others can be created lazily when they are first used. WARNING: this will be a breaking change to any 3rd party modules that are assuming `setBridge:` is called on the main thread. Those modules should be rewritten to move any code that requires the main thread into `init` or `constantsToExport` instead. `**` We will also be examining whether `constantsToExport` can be done lazily, but for now any module that uses it will still be created eagerly when the bridge starts up. Reviewed By: javache Differential Revision: D3240682 fb-gh-sync-id: 48f309e3158bbccb52141032baf70def3e609371 fbshipit-source-id: 48f309e3158bbccb52141032baf70def3e609371 |
||
---|---|---|
.. | ||
RCTFPSGraph.h | ||
RCTFPSGraph.m | ||
RCTJSCProfiler.h | ||
RCTJSCProfiler.m | ||
RCTMacros.h | ||
RCTPerfMonitor.m | ||
RCTProfile.h | ||
RCTProfile.m | ||
RCTProfileTrampoline-arm.S | ||
RCTProfileTrampoline-arm64.S | ||
RCTProfileTrampoline-i386.S | ||
RCTProfileTrampoline-x86_64.S |