我在 Titanium 1.2.1 上使用 SDK 4.0 编译到具有 3.1.3 的设备。此崩溃不会在模拟器中表现出来,而只会在设备上表现出来。我有一个 tableView 列出了联系人列表。单击联系人姓名时,会打开一个新的重量级窗口(在不同的执行上下文中)。新窗口显示联系人的详细信息,例如他们的姓名和照片,然后它向服务器发出 ajax 请求以填写所有其他详细信息。
contactTableView.addEventListener('click', function(evt) { var contactWin = Ti.UI.createWindow({ 网址:“contacts_show.js”, 标题:evt.rowData.title, 背景颜色:colors.window_bg_color, barColor:colors.topbar_bg_color }); contactWin.contact = evt.rowData.contact; Ti.UI.currentTab.open(contactWin, { 动画: true }); });
这通常适用于设备,除非您在联系人详细信息和联系人列表之间来回切换几次——然后它就会崩溃。
这是崩溃日志: http: //gist.github.com/557988
从崩溃日志来看,似乎当我来回走动时,它决定需要终止执行上下文以节省内存。但是在那个时候,当它试图删除一个事件监听器时,它看起来就像崩溃了。我不认为我对事件监听器做任何奇怪的事情。任何人都知道我该如何调试这个问题?提前致谢。