Remove `enableSpannableCacheByReadableNativeMapEquality` flag
Summary: This has been true for 100% of users for months; clean up the old code. Changelog: [Internal] Reviewed By: mdvacca Differential Revision: D25451470 fbshipit-source-id: feae59ce746869b9d84d6aaa69be10e91181f03a
This commit is contained in:
Родитель
4bc40bf8e6
Коммит
4690effc5c
|
@ -77,9 +77,6 @@ public class ReactFeatureFlags {
|
|||
/** Use experimental SetState retry mechanism in view? */
|
||||
public static boolean enableExperimentalStateUpdateRetry = false;
|
||||
|
||||
/** Enable caching of Spannable objects using equality of ReadableNativeMaps */
|
||||
public static boolean enableSpannableCacheByReadableNativeMapEquality = true;
|
||||
|
||||
/** Use lock-free data structures for Fabric MountItems. */
|
||||
public static boolean enableLockFreeMountInstructions = false;
|
||||
|
||||
|
|
|
@ -29,7 +29,6 @@ import com.facebook.react.bridge.ReadableMap;
|
|||
import com.facebook.react.bridge.ReadableNativeMap;
|
||||
import com.facebook.react.bridge.WritableArray;
|
||||
import com.facebook.react.common.build.ReactBuildConfig;
|
||||
import com.facebook.react.config.ReactFeatureFlags;
|
||||
import com.facebook.react.uimanager.PixelUtil;
|
||||
import com.facebook.react.uimanager.ReactAccessibilityDelegate;
|
||||
import com.facebook.react.uimanager.ReactStylesDiffMap;
|
||||
|
@ -64,9 +63,7 @@ public class TextLayoutManager {
|
|||
private static final String INCLUDE_FONT_PADDING_KEY = "includeFontPadding";
|
||||
private static final String TEXT_BREAK_STRATEGY_KEY = "textBreakStrategy";
|
||||
private static final String MAXIMUM_NUMBER_OF_LINES_KEY = "maximumNumberOfLines";
|
||||
private static final LruCache<String, Spannable> sSpannableCache =
|
||||
new LruCache<>(spannableCacheSize);
|
||||
private static final LruCache<ReadableNativeMap, Spannable> sSpannableCacheV2 =
|
||||
private static final LruCache<ReadableNativeMap, Spannable> sSpannableCache =
|
||||
new LruCache<>(spannableCacheSize);
|
||||
private static final ConcurrentHashMap<Integer, Spannable> sTagToSpannableCache =
|
||||
new ConcurrentHashMap<>();
|
||||
|
@ -195,25 +192,11 @@ public class TextLayoutManager {
|
|||
@Nullable ReactTextViewManagerCallback reactTextViewManagerCallback) {
|
||||
|
||||
Spannable preparedSpannableText;
|
||||
String attributedStringPayload = "";
|
||||
|
||||
boolean cacheByReadableNativeMap =
|
||||
ReactFeatureFlags.enableSpannableCacheByReadableNativeMapEquality;
|
||||
// TODO: T74600554 Cleanup this experiment once positive impact is confirmed in production
|
||||
if (cacheByReadableNativeMap) {
|
||||
synchronized (sSpannableCacheLock) {
|
||||
preparedSpannableText = sSpannableCacheV2.get((ReadableNativeMap) attributedString);
|
||||
if (preparedSpannableText != null) {
|
||||
return preparedSpannableText;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
attributedStringPayload = attributedString.toString();
|
||||
synchronized (sSpannableCacheLock) {
|
||||
preparedSpannableText = sSpannableCache.get(attributedStringPayload);
|
||||
if (preparedSpannableText != null) {
|
||||
return preparedSpannableText;
|
||||
}
|
||||
synchronized (sSpannableCacheLock) {
|
||||
preparedSpannableText = sSpannableCache.get((ReadableNativeMap) attributedString);
|
||||
if (preparedSpannableText != null) {
|
||||
return preparedSpannableText;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -221,15 +204,10 @@ public class TextLayoutManager {
|
|||
createSpannableFromAttributedString(
|
||||
context, attributedString, reactTextViewManagerCallback);
|
||||
|
||||
if (cacheByReadableNativeMap) {
|
||||
synchronized (sSpannableCacheLock) {
|
||||
sSpannableCacheV2.put((ReadableNativeMap) attributedString, preparedSpannableText);
|
||||
}
|
||||
} else {
|
||||
synchronized (sSpannableCacheLock) {
|
||||
sSpannableCache.put(attributedStringPayload, preparedSpannableText);
|
||||
}
|
||||
synchronized (sSpannableCacheLock) {
|
||||
sSpannableCache.put((ReadableNativeMap) attributedString, preparedSpannableText);
|
||||
}
|
||||
|
||||
return preparedSpannableText;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче