Показать сообщение отдельно
  #1 (permalink)  
Старый 06.12.2011, 17:42
Новичок на форуме
Отправить личное сообщение для max.arshinov Посмотреть профиль Найти все сообщения от max.arshinov
 
Регистрация: 21.01.2011
Сообщений: 6

Креш дефолтного браузера андройда
Столкнулся с необычной задачей. Необходимо закрешить андройд, работающий в режиме Браузера как ДефолтСкрина. Андройд поддерживает такой режим работы: включаем девайс, вылезает фуллскрин с барузером, который показывает наше приложение. PROFIT. Нужно проверить поведение андройда при креше браузера. Для ВебКита не наешел популярного креша, сломал так:

<script type="text/javascript">
i = 1;
var a = {};
d1 = document.createElement('div');
document.body.appendChild(d1);

while(true){
setInterval(function () {
(function () {
while (true) {
d = document.createElement('div');
d1.appendChild(d);
d1 = d;
a.push[d];
a.push[a];
}
}, 1)();
});
}
</script>

Срабатывает меморик в SetInterval'е. Что происходит внутри не так важно, в зависимости от фантазии рано или поздно попадаем на OutOfMemory. Мой Chrome на 64битной винде с 8ГБ оперативки это крешит за 15 секунд. Если воспользоваться просто браузером на андройде, тот же результат - браузер вылетает.

А вот если браузер работает как ДефолтСкрин, то мы видим белый фон. Ждали около 20 минут ничего не меняется. Есть подозрение, что в этом режиме браузер работает в "песочнице" и толи как-то более оптимально очищает память, толи ребутается. Непонятно. Если у кого-то есть информация, что именно происходит или есть какой-нибудь эксплойт для вебкита, который убивает его мгновенно буду очень благодарен за помощь
Ответить с цитированием