diff --git a/src/Android/Avalonia.Android/AvaloniaView.cs b/src/Android/Avalonia.Android/AvaloniaView.cs index 3d3cd2995d..c120f9ee77 100644 --- a/src/Android/Avalonia.Android/AvaloniaView.cs +++ b/src/Android/Avalonia.Android/AvaloniaView.cs @@ -42,6 +42,13 @@ namespace Avalonia.Android set { _root.Content = value; } } + protected override void Dispose(bool disposing) + { + base.Dispose(disposing); + _root?.Dispose(); + _root = null; + } + public override bool DispatchKeyEvent(KeyEvent e) { return _view.View.DispatchKeyEvent(e); diff --git a/src/Android/Avalonia.Android/SingleViewLifetime.cs b/src/Android/Avalonia.Android/SingleViewLifetime.cs index f8a2ee2894..2b6b4d3359 100644 --- a/src/Android/Avalonia.Android/SingleViewLifetime.cs +++ b/src/Android/Avalonia.Android/SingleViewLifetime.cs @@ -15,7 +15,7 @@ namespace Avalonia.Android _activity = activity; if (activity is IAvaloniaActivity activableActivity) - { + { activableActivity.Activated += (_, args) => Activated?.Invoke(this, args); activableActivity.Deactivated += (_, args) => Deactivated?.Invoke(this, args); } diff --git a/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs b/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs index 880bbb7340..9a2f98f771 100644 --- a/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs +++ b/src/Avalonia.Controls/Embedding/EmbeddableControlRoot.cs @@ -51,6 +51,11 @@ namespace Avalonia.Controls.Embedding } protected override Type StyleKeyOverride => typeof(EmbeddableControlRoot); - public void Dispose() => PlatformImpl?.Dispose(); + + public void Dispose() + { + PlatformImpl?.Dispose(); + LayoutManager?.Dispose(); + } } }