Я использую очень большой UIScrollView с веб-представлениями / подпредставлениями и т. Д., Поэтому мне нужно, чтобы он был динамическим и предварительно загруженным с 3-мя видами контейнера.Работает в симуляторе, но вылетает на устройстве с нехваткой памяти.Я добавляю и удаляю из 3 основных видов, используя рекурсивный метод
private void destroyChildren(UIView view, int level) {
if (view.Subviews.Length > 0) {
foreach (UIView subview in view.Subviews) {
destroyChildren(subview, level++); // recurse
subview.RemoveFromSuperview();
if (subview is UIWebView) {
(subview as UIWebView).ShouldStartLoad -= webHandler;
}
if (subview is scrollViewer) {
(subview as scrollViewer).clicked -= viewClicked;
}
subview.BackgroundColor = UIColor.Cyan; // release bgImage?
subview.Dispose();
}
}
else {
if (level> 0) { // dont dispose root view
view.Dispose();
}
}
и вызывая с помощью destroyChildren (myView, 0);Приложение по-прежнему падает после 10 или около того переворачивания страницы с предупреждениями памяти.Этот код в порядке или даже необходим?Должен ли я вместо этого использовать какой-нибудь viewcontroller.
Спасибо !!!