метод, использованный для создания кнопки и добавленный в виде прокрутки.
for (int i = 0; i < navTiles.Count; i++)
{
navTab = navTiles[i];
tileRow += staticheight + 15;
contentHeight = tileRow + 15;
if (navTab.IsFullTile)
{
using (var img = UIImage.FromBundle(navTab.ImageName))
{
using (var navButton = new UIButtonCustom())
{
navButton.Frame = new CGRect(15, tileRow, ScreenSize.Width - 30, staticheight);
navButton.SetImage(img, UIControlState.Normal);
navButton.TouchUpInside += NavButton_TouchUpInside;
navButton.TouchUpOutside += NavButton_TouchUpOutside;
navButton.Tag = (int)navTab.NavTabType;
//var weaks = new WeakReference(navButton);
svMainScrollView.AddSubview(navButton);
}
}
}
}
Метод, используемый для удаления памяти с кнопки
if (disposing)
{
foreach (var obj in this.svMainScrollView.Subviews)
{
if (obj.GetType() == typeof(UIButtonCustom))
{
UIButton uIButton = (UIButtonCustom)obj;
if (uIButton.Tag == 1 || uIButton.Tag == 2 || uIButton.Tag == 3 || uIButton.Tag == 4 || uIButton.Tag == 5 || uIButton.Tag == 6)
{
uIButton.TouchUpInside -= NavButton_TouchUpInside;
uIButton.Dispose();
uIButton.RemoveFromSuperview();
uIButton = null;
Console.WriteLine("has tag");
}
else
{
Console.WriteLine("has no tag");
}
}
}
GC.SuppressFinalize(this);
}
base.Dispose(disposing)
}
Но все равно память не удаляется. но увеличивайте количество всякий раз, когда снова создаете кнопку Xamarin.ios
Пожалуйста, найдите прикрепленное изображение профилировщика Xamarin в том, что вы можете найти, что UICustombutton count увеличивается, а когда вы нажимаете на другой контроллер представления
и вернитесь снова, нажав на новое увеличение счетчика памяти контроллера представления в профилировщике
Помогите мне, как избежать увеличения количества памяти при создании нового объекта
Я использую пробную версию профайлера xamarin Enterprise версии 1.6.4.16 и снимок экрана работает, а флажок только для живого объекта не работает
пожалуйста, найдите прикрепленный скриншот профиля xamarin ![enter image description here](https://i.stack.imgur.com/IOiZ8.png)