Stop using finalizer in Typeface and FontFamily
Use NativeAllocationRegistry instead.
Verified this doesn't cause performance regressions:
StaticLayout creation time:
MeasuredText Balanced Hyphenation : 721,055 -> 723,812: (+0.4%)
MeasuredText Balanced NoHyphenation: 527,880 -> 505,843: (-4.2%)
MeasuredText Greedy Hyphenation : 476,982 -> 460,241: (-3.5%)
MeasuredText Greedy NoHyphenation : 471,074 -> 459,013: (-2.6%)
RandomText Balanced Hyphenation : 18,566,915 -> 18,514,633: (-0.3%)
RandomText Balanced NoHyphenation : 7,697,772 -> 7,658,458: (-0.5%)
RandomText Greedy Hyphenation : 7,648,606 -> 7,602,026: (-0.6%)
RandomText Greedy NoHyphenation : 7,643,946 -> 7,618,898: (-0.3%)
MeasuredText creation time:
NoStyled Hyphenation : 18,377,293 -> 18,521,296: (+0.8%)
NoStyled Hyphenation WidthOnly : 17,852,099 -> 17,889,073: (+0.2%)
NoStyled NoHyphenation : 7,608,972 -> 7,614,311: (+0.1%)
NoStyled NoHyphenation WidthOnly : 7,194,461 -> 7,192,043: (-0.0%)
Styled Hyphenation : 15,396,698 -> 15,352,501: (-0.3%)
Styled Hyphenation WidthOnly : 14,356,020 -> 14,379,205: (+0.2%)
Styled NoHyphenation : 14,926,657 -> 14,971,723: (+0.3%)
Styled NoHyphenation WidthOnly : 13,964,537 -> 13,874,324: (-0.6%)
StaticLayout draw time:
MeasuredText NoStyled : 644,795 -> 635,241: (-1.5%)
MeasuredText NoStyled WithoutCache : 637,943 -> 616,369: (-3.4%)
MeasuredText Styled : 866,664 -> 860,322: (-0.7%)
MeasuredText Styled WithoutCache : 917,795 -> 897,164: (-2.2%)
RandomText NoStyled : 538,196 -> 533,253: (-0.9%)
RandomText NoStyled WithoutCache : 7,012,076 -> 7,047,498: (+0.5%)
RandomText Styled : 3,011,941 -> 2,999,661: (-0.4%)
RandomText Styled WithoutCache : 3,486,225 -> 3,462,493: (-0.7%)
Bug: 70185027
Test: atest CtsWidgetTestCases:EditTextTest
CtsWidgetTestCases:TextViewFadingEdgeTest
FrameworksCoreTests:TextViewFallbackLineSpacingTest
FrameworksCoreTests:TextViewTest FrameworksCoreTests:TypefaceTest
CtsGraphicsTestCases:TypefaceTest CtsWidgetTestCases:TextViewTest
CtsTextTestCases
Change-Id: I7ebb8a219a8eb07c8ad9fa432e8454e4e06be386
4 files changed