Я на Titanium 1.2.1, использую SDK 4.0, компилирую на устройство с 3.1.3. Этот сбой не проявляется в симуляторе, а только на устройстве.
У меня есть tableView, перечисляющий список контактов. При щелчке по имени контакта открывается новое тяжелое окно (в другом контексте выполнения). В новом окне отображаются сведения о контакте, такие как его имя и изображение, а затем он отправляет серверу запрос ajax для заполнения всех остальных сведений.
contactTableView.addEventListener('click', function(evt) {
var contactWin = Ti.UI.createWindow({
url: "contacts_show.js",
title: evt.rowData.title,
backgroundColor: colors.window_bg_color,
barColor: colors.topbar_bg_color
});
contactWin.contact = evt.rowData.contact;
Ti.UI.currentTab.open(contactWin, { animated: true });
});
Как правило, это работает на устройстве, если только вы не переместитесь назад и назад между контактными данными и списком контактов - тогда произойдет сбой.
Вот журнал сбоев:
http://gist.github.com/557988
Из журнала сбоев кажется, что когда я ходил взад и вперед, он дошел до того, что решил, что нужно убить контекст выполнения, чтобы сэкономить память. Но в этот момент похоже, что он падает, когда пытается удалить прослушиватель событий.
Я не думаю, что я делаю что-то странное со слушателями событий. Кто-нибудь знает, как я могу отладить эту проблему? Заранее спасибо.