Я написал приложение для использования в автономном режиме (с Google Gears) на устройствах с использованием IE Mobile. Устройства испытывают утечки памяти с такой скоростью, что устройство становится непригодным с течением времени.Как предотвратить утечку памяти в IE Mobile?
Страница проблемы извлекает записи из локальной базы данных Gears и отображает таблицу каждой записи со ссылкой в последнем столбце каждой строки, чтобы открыть запись (ссылка имеет только onclick = "open ('myID") "). Когда они сделали с записью, они возвращаются к таблице, которая отображается RE. Это повторное построение этой таблицы, похоже, является проблемой. Главным образом события onclick.
таблица генерируется в сущности, как это:
var tmp="";
for (var i=0; i<100; i++){
tmp+="<tr><td>row "+i+"</td><td><a href=\"#\" id=\"LINK-"+i+"\""+
" onclick=\"afunction();return false;\">link</a></td></tr>";
}
document.getElementById('view').innerHTML = "<table>"+tmp+"</table>";
Я прочитал на общих причинах утечки памяти и попытался установить событие OnClick для каждой ссылки на «нулевой» до повторного рендеринга таблицы но он все еще, кажется, течет.
У кого-нибудь есть идеи?
В случае, если это имеет значение, функция вызывается из каждой ссылки выглядит следующим образом:
function afunction(){
document.getElementById('view').style.display="none";
}
бы, составляющих циклическую ссылку в любом случае?
Джейк
Вернитесь? Закрытие браузера полностью освобождает память. Выполнение «мягкого закрытия» повышает производительность при повторном открытии, но не освобождает память. Устройство представляет собой орбиту XDA 2. –