protected override void Dispose(bool disposing) { if (_disposed) { return; } if (disposing) { _disposed = true; _page = null; if (!_fragmentManager.IsDestroyed) { FragmentTransaction transaction = _fragmentManager.BeginTransactionEx(); foreach (Fragment fragment in _fragments) { transaction.RemoveEx(fragment); transaction.SetTransitionEx((int)FragmentTransit.None); } transaction.CommitAllowingStateLossEx(); _fragmentManager.ExecutePendingTransactionsEx(); _fragments = null; _fragmentManager = null; } } base.Dispose(disposing); }