Prepare NativeLineBreaker.LineBreaks to be public API
This is a ground work of making NativeLineBreaker/MeasuredParagraph public. This CL rename NativeLineBreaker.LineBreaks to NativeLineBreaker.Result. This CL also moving array re-allocation logic from native code to Java in StaticLayout. Ideally, we can remove array but this CL keeps array since that introduces additional complexity. Here is a raw perf test result: android.text.StaticLayoutPerfTest: create PrecomputedText Balanced Hyphenation : 667 -> 810: (+143, +21.4%) PrecomputedText Balanced NoHyphenation: 510 -> 594: ( +84, +16.5%) PrecomputedText Greedy Hyphenation : 446 -> 530: ( +84, +18.8%) PrecomputedText Greedy NoHyphenation : 448 -> 533: ( +85, +19.0%) RandomText Balanced Hyphenation : 17,982 -> 18,176: (+194, +1.1%) RandomText Balanced NoHyphenation : 7,348 -> 7,461: (+113, +1.5%) RandomText Greedy Hyphenation : 7,293 -> 7,330: ( +37, +0.5%) RandomText Greedy NoHyphenation : 7,289 -> 7,352: ( +63, +0.9%) draw PrecomputedText NoStyle : 645 -> 645: ( +0, +0.0%) PrecomputedText Style : 941 -> 947: ( +6, +0.6%) RandomText NoStyle : 541 -> 543: ( +2, +0.4%) RandomText Style : 751 -> 753: ( +2, +0.3%) android.widget.TextViewPrecomputedTextPerfTest: newLayout PrecomputedText : 839 -> 983: (+144, +17.2%) PrecomputedText Selectable : 883 -> 1,053: (+170, +19.3%) RandomText : 17,594 -> 17,761: (+167, +0.9%) RandomText Selectable : 18,331 -> 18,695: (+364, +2.0%) onDraw PrecomputedText : 1,233 -> 1,385: (+152, +12.3%) PrecomputedText Selectable : 1,164 -> 1,207: ( +43, +3.7%) RandomText : 18,836 -> 19,042: (+206, +1.1%) RandomText Selectable : 19,025 -> 19,092: ( +67, +0.4%) onMeasure PrecomputedText : 853 -> 991: (+138, +16.2%) PrecomputedText Selectable : 1,077 -> 1,234: (+157, +14.6%) RandomText : 17,613 -> 17,913: (+300, +1.7%) RandomText Selectable : 18,696 -> 18,922: (+226, +1.2%) setText PrecomputedText : 133 -> 136: ( +3, +2.3%) PrecomputedText Selectable : 190 -> 192: ( +2, +1.1%) RandomText : 10 -> 11: ( +1, +10.0%) RandomText Selectable : 49 -> 50: ( +1, +2.0%) Bug: 112327179 Test: atest FrameworksCoreTests CtsGraphicsTestCases CtsWidgetTestCases CtsTextTestCases Change-Id: I25f41dacf73e00a859f43331bc53f8d123116192
Loading
Please register or sign in to comment