Если у меня есть класс, подобный этому ниже, где я создаю Drawables, а затем использую их, пока эта кнопка находится на странице, стандартно ли вы утилизировать все ImageDrawable при переопределении метода Dispose, или я должен избавиться от них в OnDetachedFromWindow, или это вообще не требуется.При подклассификации Xamarin Android.Views.View (или любого из его подклассов) мне нужно вызвать dispose на объекты, которые я создал?
1.
public class ExampleImageButton : ImageButton
{
private IList<AnimationDrawable> _animations;
....
protected override void Dispose (bool disposing)
{
if(disposing)
{
foreach(var item in _animations)
{
item.Dispose();
}
_animations = null;
}
base.Dispose (disposing);
}
}
2.
public class ExampleImageButton : ImageButton
{
private IList<AnimationDrawable> _animations;
....
protected override void OnDetachedFromWindow()
{
foreach(var item in _animations)
{
item.Dispose();
}
_animations = null;
}
}
если мой ответ не дает ответа на вопрос достаточно тщательно, войти в контакт со мной. Счастливый чат через Skype и т. Д., Чтобы объяснить это более подробно. – matthewrdev
Да, ты ответил на мой вопрос. Я думал, что они не будут очищены, и я предполагал, что номер 1 был прав, но я хотел убедиться, что я ничего не пропустил. Я был немного уверен, потому что, даже не удаляя чертежи, мой код, похоже, работал нормально, но я решил, что это может вызвать проблемы в будущем – CShark