Browse Source

perf(Android): Avoid allocation of object array (#14046)

* perf(Android): Avoid allocation of object array

Avoid allocating a new array of objects when the Compositor enumeration the surfaces

* fix: Address review
pull/14080/head
workgroupengineering 3 years ago
committed by GitHub
parent
commit
fe671b2ceb
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs

8
src/Android/Avalonia.Android/Platform/SkiaPlatform/TopLevelImpl.cs

@ -1,12 +1,10 @@
using System;
using System.Collections.Generic;
using System.Runtime.Versioning;
using System.Threading;
using Android.App;
using Android.Content;
using Android.Graphics;
using Android.Graphics.Drawables;
using Android.OS;
using Android.Runtime;
using Android.Text;
using Android.Views;
@ -27,10 +25,8 @@ using Avalonia.OpenGL.Egl;
using Avalonia.OpenGL.Surfaces;
using Avalonia.Platform;
using Avalonia.Platform.Storage;
using Avalonia.Rendering;
using Avalonia.Rendering.Composition;
using Java.Lang;
using static System.Net.Mime.MediaTypeNames;
using ClipboardManager = Android.Content.ClipboardManager;
namespace Avalonia.Android.Platform.SkiaPlatform
@ -76,6 +72,8 @@ namespace Avalonia.Android.Platform.SkiaPlatform
_transparencyLevel = WindowTransparencyLevel.None;
_systemNavigationManager = new AndroidSystemNavigationManagerImpl(avaloniaView.Context as IActivityNavigationService);
Surfaces = new object[] { _gl, _framebuffer, Handle };
}
public virtual Point GetAvaloniaPointFromEvent(MotionEvent e, int pointerIndex) =>
@ -107,7 +105,7 @@ namespace Avalonia.Android.Platform.SkiaPlatform
public IPlatformHandle Handle => _view;
public IEnumerable<object> Surfaces => new object[] { _gl, _framebuffer, Handle };
public IEnumerable<object> Surfaces { get; }
public Compositor Compositor => AndroidPlatform.Compositor;

Loading…
Cancel
Save