То, что у вас есть, это утечка памяти.Когда вы добавляете прослушиватель событий в Ti.App с оператором
Ti.App.addEventListener('feed_partial_action',function(e)
{
alert('inside event')
});
Эта анонимная функция хранится в контексте Ti.App (она должна сохранять ссылку на функцию, чтобы она могла вызывать ее, когдасобытие «feed_partial_action» запускается).Эта функция не будет собирать мусор, пока Ti.App не выпустит ссылку на нее.Кроме того, он остается привязанным к событию.
Есть несколько способов справиться с этим.Я не знаю точно, как сказать вам, как решить вашу проблему, потому что у меня нет большого контекста с предоставленным примером кода.Итак, вот несколько решений.Если одно из приведенных ниже допущений неверно, просьба сообщить подробности.
- Если событие feed_partial_action действительно является глобальным событием, имеющим один и только один обработчик события, переместите
Ti.App.addEventListener('feed_partial_action',function...);
код вне блока, который выполняется несколько раз. Если вам нужно прекратить получать событие, когда окно исследования закрыто, то переместите функцию eventHandler (анонимную) в именованную функцию илипеременная и вызовите Ti.App.removeEventListener('feed_partial_action', myFunction);
при закрытии окна.Самый простой способ сделать это будет
function feedPartialActionCB(e) { alert('inside event'); }
Ti.App.addEventListener('feed_partial_action', feedPartialActionCB);
explore.addEventListener('close', function() {
Ti.App.removeEventListener('feed_partial_action', feedPartialActionCB);
});