A framework for building native applications using React
buildSpannableFromFragmentsOptimized (#52385)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52385 This replaces `buildSpannableFromFragmentsOptimized()` with a more optimized version. There are a couple main changes. 1. We don't need a complicated structure around ordering, and span priority, that made its way from the Java ShadowNode logic. AttributedString already ensures there are no overlapping attributes per fragment. 2. `SpannableStringBuilder` is a complicated text-editor style data structure, optimized to allow text content to be modified, and spans re-applied. We can use a much lighter `SpannableString`, on top of the ahead-of-time known text content, which is faster, and saves around 500 bytes per string (and prepared layout). If we assign this to an `EditText`, which later gets edited, Android will copy it to a `SpannableStringBuilder`. Changelog: [Internal] Reviewed By: lenaic Differential Revision: D77622848 fbshipit-source-id: 69bbac86e1f0fd4a15dab6bc279cca305f2a53ae
N
Nick Gerleman committed
0d455f32724d05d8e765fa695483fb04b508f26f
Parent: a4b0d64
Committed by Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com>
on 7/3/2025, 12:26:48 AM