public class ComponentsConfiguration
extends java.lang.Object
These values are safe defaults and should not require manual changes.
This class hosts all the config parameters that the ComponentTree configures it self ....
enable and disable features ... A Component tree uses the defaultComponentsConfiguration
by default but a ComponentsConfiguration.Builder
can be used to create new instances of the config to override
the default parameters ... The default config values can also be overridden by manually setting
their values in defaultBuilder
Modifier and Type | Class and Description |
---|---|
static class |
ComponentsConfiguration.Builder |
Modifier and Type | Field and Description |
---|---|
static boolean |
boostPerfLayoutStateFuture
If true, the
perfBoosterFactory will be used to indicate that LayoutStateFuture thread
can use the perf boost |
static boolean |
CAN_CHECK_GLOBAL_ANIMATOR_SETTINGS
Whether we can access properties in Settings.Global for animations.
|
static boolean |
canInterruptAndMoveLayoutsBetweenThreads |
static java.util.Set<java.lang.String> |
componentPreallocationBlocklist |
static boolean |
computeRangeOnSyncLayout
Start parallel layout of visible range just before serial synchronous layouts in RecyclerBinder
|
static boolean |
crashIfExceedingStateUpdateThreshold |
static int |
DEFAULT_BACKGROUND_THREAD_PRIORITY
The default priority for threads that perform background layout calculations.
|
static int |
DEFAULT_CHANGE_SET_THREAD_PRIORITY
The default priority for threads that perform background sections change set calculations.
|
static boolean |
disableGetAnnotationUsage
field.getAnnotation() has bugs which is causing java crashes in the App, in addition to this we
suspect this might be a reason for few other native crashes as well.
|
static boolean |
emitMessageForZeroSizedTexture |
static boolean |
enableErrorBoundaryComponent |
static boolean |
enableMountableComponents |
static boolean |
enableMountableInMessenger |
static boolean |
enableMountableInNewsFeed |
static boolean |
enableMountableRecycler |
static boolean |
enableMountableRecyclerInGroups |
static boolean |
enableMountableTwoBindersRecycler |
static boolean |
enableNestedTreePreallocation
If true, uses the root ComponentTree's mount content preallocation handler to perform
preallocation for nested trees.
|
static boolean |
enableRecyclerBinderStableId |
static boolean |
enableSeparateAnimatorBinder |
static boolean |
enableStateUpdatesBatching |
static boolean |
enableThreadTracingStacktrace |
static boolean |
enableTransitionsExtension |
static boolean |
enableVisibilityExtension |
static boolean |
fixMemoryLeakInRecyclerBinder |
static boolean |
forceEnableTransitionsForInstrumentationTests
By default end-to-end tests will disable transitions and this flag lets to explicitly enable
transitions to test animation related behavior.
|
static boolean |
furyEventCallbackInstrumentation
This toggles whether fury should instrument the Litho event callback event
|
static int |
hostComponentPoolSize |
static boolean |
hostComponentRecyclingByMountStateIsEnabled |
static boolean |
hostComponentRecyclingByWindowIsEnabled
These params are part of an experiment to try to re-enable host recycling while avoiding native
RenderThread crashes we've seen when trying to reuse ComponentHosts.
|
static boolean |
initStickyHeaderInLayoutWhenComponentTreeIsNull
Initialize sticky header during layout when its component tree is null
|
static boolean |
IS_INTERNAL_BUILD
Indicates whether this is an internal build.
|
static boolean |
isAnimationDisabled |
static boolean |
isBuildAndLayoutSplitEnabled |
static boolean |
isDebugHierarchyEnabled
Lightweight tracking of component class hierarchy of MountItems.
|
static boolean |
isDebugModeEnabled
Option to enabled debug mode.
|
static boolean |
isEndToEndTestRun
Populates additional metadata to find mounted components at runtime.
|
static boolean |
isIncrementalMountGloballyDisabled
When
true , disables incremental mount globally. |
static boolean |
isLayoutDiffingEnabled
Sets if layout diffing is enabled.
|
static boolean |
isReconciliationEnabled
Sets if is reconciliation is enabled
|
static boolean |
isSplitStateHandlersEnabled |
static boolean |
isTimelineEnabled
When
true ComponentTree records state change snapshots |
static boolean |
keepLithoNodes
Keeps the litho node tree in the LayoutState.
|
static long |
layoutThreadKeepAliveTimeMs |
static boolean |
lithoViewSelfManageViewPortChanges
Used by LithoViews to determine whether or not to self-manage the view-port changes, rather
than rely on calls to notifyVisibleBoundsChanged.
|
static boolean |
NEEDS_THEME_SYNCHRONIZATION
Whether we need to account for lack of synchronization while accessing Themes.
|
static int |
overlappingRenderingViewSizeLimit |
static java.lang.Boolean |
overrideLayoutDiffing |
static java.lang.Boolean |
overrideReconciliation |
static int |
partialAlphaWarningSizeThresold |
static LithoPerfBoosterFactory |
perfBoosterFactory |
static boolean |
requestMountForPrefetchedItems |
static boolean |
reuseLastMeasuredNodeInComponentMeasure |
static boolean |
shouldAddHostViewForRootComponent |
static boolean |
shouldAllowCoreThreadTimeout
This toggles whether should timeout core threads or not
|
static boolean |
shouldCompareCommonPropsInIsEquivalentTo |
static boolean |
shouldCompareRootCommonPropsInSingleComponentSection |
static boolean |
shouldContinueIncrementalMountWhenVisibileRectIsEmpty
When true, IM will not stop when the LithoView's visible rect is empty, and will proceed to
unmount everything.
|
static boolean |
shouldDelegateContentDescriptionChangeEvent |
static boolean |
shouldDisableBgFgOutputs |
static boolean |
shouldUsePositionInParentForMounting
This toggles whether Litho's MountState uses the position of the item in the host view to
mount/unmount or uses the position in the LayoutState.
|
static int |
textureSizeWarningLimit |
static LayoutThreadPoolConfiguration |
threadPoolConfiguration
If non-null, a thread pool will be used for async layouts instead of a single layout thread.
|
static java.lang.String |
timelineDocsLink |
static boolean |
unsafeHostComponentRecyclingIsEnabled |
static boolean |
USE_INCREMENTAL_MOUNT_HELPER
Indicates that the incremental mount helper is required for this build.
|
public static final boolean IS_INTERNAL_BUILD
BuildConfig
that this class is compiled against may not be the one that is included in the APK.
See: android_build_config.public static final boolean USE_INCREMENTAL_MOUNT_HELPER
public static final boolean CAN_CHECK_GLOBAL_ANIMATOR_SETTINGS
public static final boolean NEEDS_THEME_SYNCHRONIZATION
public static int DEFAULT_BACKGROUND_THREAD_PRIORITY
public static final int DEFAULT_CHANGE_SET_THREAD_PRIORITY
public static boolean isDebugModeEnabled
public static boolean isDebugHierarchyEnabled
public static boolean isEndToEndTestRun
IS_TESTINGsystem property at startup but can be overridden at runtime.
public static boolean isAnimationDisabled
public static boolean forceEnableTransitionsForInstrumentationTests
public static boolean enableErrorBoundaryComponent
public static LayoutThreadPoolConfiguration threadPoolConfiguration
public static boolean enableThreadTracingStacktrace
public static boolean isReconciliationEnabled
public static java.lang.Boolean overrideReconciliation
public static java.lang.Boolean overrideLayoutDiffing
public static boolean isLayoutDiffingEnabled
public static boolean canInterruptAndMoveLayoutsBetweenThreads
public static boolean disableGetAnnotationUsage
public static LithoPerfBoosterFactory perfBoosterFactory
public static boolean boostPerfLayoutStateFuture
perfBoosterFactory
will be used to indicate that LayoutStateFuture thread
can use the perf boostpublic static boolean computeRangeOnSyncLayout
public static boolean shouldDisableBgFgOutputs
public static boolean shouldAddHostViewForRootComponent
public static boolean shouldContinueIncrementalMountWhenVisibileRectIsEmpty
public static boolean isIncrementalMountGloballyDisabled
true
, disables incremental mount globally.public static boolean keepLithoNodes
public static boolean lithoViewSelfManageViewPortChanges
public static boolean emitMessageForZeroSizedTexture
public static int textureSizeWarningLimit
public static int overlappingRenderingViewSizeLimit
public static int partialAlphaWarningSizeThresold
public static java.util.Set<java.lang.String> componentPreallocationBlocklist
public static boolean isTimelineEnabled
true
ComponentTree records state change snapshotspublic static java.lang.String timelineDocsLink
public static boolean initStickyHeaderInLayoutWhenComponentTreeIsNull
public static boolean enableNestedTreePreallocation
public static boolean enableVisibilityExtension
public static boolean enableTransitionsExtension
public static boolean hostComponentRecyclingByWindowIsEnabled
public static boolean hostComponentRecyclingByMountStateIsEnabled
public static boolean unsafeHostComponentRecyclingIsEnabled
public static int hostComponentPoolSize
public static boolean furyEventCallbackInstrumentation
public static boolean shouldUsePositionInParentForMounting
public static boolean isBuildAndLayoutSplitEnabled
public static boolean isSplitStateHandlersEnabled
public static boolean reuseLastMeasuredNodeInComponentMeasure
public static boolean shouldCompareCommonPropsInIsEquivalentTo
public static boolean shouldCompareRootCommonPropsInSingleComponentSection
public static boolean shouldDelegateContentDescriptionChangeEvent
public static boolean shouldAllowCoreThreadTimeout
public static long layoutThreadKeepAliveTimeMs
public static boolean crashIfExceedingStateUpdateThreshold
public static boolean enableRecyclerBinderStableId
public static boolean requestMountForPrefetchedItems
public static boolean fixMemoryLeakInRecyclerBinder
public static boolean enableMountableComponents
public static boolean enableMountableRecycler
public static boolean enableMountableTwoBindersRecycler
public static boolean enableMountableInNewsFeed
public static boolean enableMountableInMessenger
public static boolean enableSeparateAnimatorBinder
public static boolean enableMountableRecyclerInGroups
public static boolean enableStateUpdatesBatching
public static boolean isRenderInfoDebuggingEnabled()
public static void setReduceMemorySpikeUserSession()
public static boolean reduceMemorySpikeUserSession()
public static void setReduceMemorySpikeDataDiffSection()
public static boolean reduceMemorySpikeDataDiffSection()
public static void setReduceMemorySpikeGetUri()
public static boolean reduceMemorySpikeGetUri()
public static void setDefaultComponentsConfigurationBuilder(ComponentsConfiguration.Builder componentsConfigurationBuilder)
public static ComponentsConfiguration getDefaultComponentsConfiguration()
public static ComponentsConfiguration.Builder getDefaultComponentsConfigurationBuilder()
public boolean getUseCancelableLayoutFutures()
@Deprecated public boolean getIgnoreNullLayoutStateError()
public boolean shouldReuseOutputs()
public boolean keepLithoNodeAndLayoutResultTreeWithReconciliation()
public static void setIsNonMainThreadFocusRequestThrowingEnabled(boolean enabled)
public static boolean isNonMainThreadFocusRequestThrowingEnabled()
public static ComponentsConfiguration.Builder create()
public static ComponentsConfiguration.Builder create(ComponentsConfiguration componentsConfiguration)