Skip to content

Commit 4fdef8c

Browse files
committed
perf: Cache textblock static native properties
1 parent 0299aad commit 4fdef8c

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/Uno.UI/UI/Xaml/Controls/TextBlock/TextBlock.Android.cs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828

2929
using Windows.Foundation;
3030
using Windows.UI.Xaml.Input;
31+
using Uno.Collections;
3132

3233
namespace Windows.UI.Xaml.Controls
3334
{
@@ -48,6 +49,11 @@ public partial class TextBlock : FrameworkElement
4849
}
4950

5051
private readonly static TextUtils.TruncateAt TruncateEnd = TextUtils.TruncateAt.End;
52+
53+
private readonly static Layout.Alignment LayoutAlignCenter = Android.Text.Layout.Alignment.AlignCenter;
54+
private readonly static Layout.Alignment LayoutAlignOpposite = Android.Text.Layout.Alignment.AlignOpposite;
55+
private readonly static Layout.Alignment LayoutAlignNormal = Android.Text.Layout.Alignment.AlignNormal;
56+
5157
private readonly static Java.Lang.String EmptyString = new Java.Lang.String();
5258
private static Java.Lang.Reflect.Constructor _maxLinedStaticLayout;
5359
private static Java.Lang.Object _textDirectionHeuristics;
@@ -175,21 +181,21 @@ private void UpdateLayoutAlignment()
175181
switch (TextAlignment)
176182
{
177183
case TextAlignment.Center:
178-
_layoutAlignment = Android.Text.Layout.Alignment.AlignCenter;
184+
_layoutAlignment = LayoutAlignCenter;
179185
_justificationMode = JustificationMode.None;
180186
break;
181187

182188
case TextAlignment.Right:
183-
_layoutAlignment = Android.Text.Layout.Alignment.AlignOpposite;
189+
_layoutAlignment = LayoutAlignOpposite;
184190
_justificationMode = JustificationMode.None;
185191
break;
186192
case TextAlignment.Justify:
187-
_layoutAlignment = Android.Text.Layout.Alignment.AlignNormal;
193+
_layoutAlignment = LayoutAlignNormal;
188194
_justificationMode = JustificationMode.InterWord;
189195
break;
190196
default:
191197
case TextAlignment.Left:
192-
_layoutAlignment = Android.Text.Layout.Alignment.AlignNormal;
198+
_layoutAlignment = LayoutAlignNormal;
193199
_justificationMode = JustificationMode.None;
194200
break;
195201
}

0 commit comments

Comments
 (0)