我正在通过AJAX更新带有一些按钮的列表。我的功能一般很好,但一段时间后会产生白色屏幕。当我单击按钮并使用后退按钮并重复几次时会发生这种情况。当我刷新运行时使用AJAX提供的大约10个按钮时,它会在点击几下后崩溃。当我刷新让我们说20个按钮时,它会在我第一次按下后退按钮时立即崩溃。应用程序崩溃时,LogCat没有说任何内容。我试图用一个livequery调用替换button()调用,该调用可以工作,但在一段时间后会产生相同的崩溃。
我正在开发一个原生应用。如果我在Firefox中尝试将其作为网络应用程序,它可以完美运行而不会崩溃。
我不确定我的问题是否与可用内存有关。我正在测试三星Galaxy Ace,大约有。剩下50 MB内存和1 GB SD卡。
$(".warenkorb_class").click(function(e) {
e.stopImmediatePropagation();
e.preventDefault();
$.post("http://mydomain/backend.php",{
action: "warenkorb", kunden_id: $local_kunden_id },
function(data) {
$.mobile.changePage("#warenkorb");
$("#warenliste").html(data);
$("#warenliste").listview("refresh");
$(".warenliste_button_class").button();
}, "html");
});
我是Android开发的新手,我已经在这个问题上苦苦挣扎了好几天了,如果有人可以帮我解决这个问题会非常高兴。
谢谢和问候, 弗洛里安
编辑: 以下是backend.php的一部分,其中创建了按钮的代码:
echo"<tr>";
echo utf8_encode("<td><a class='delete_button' href='#warenkorb' data-role='button' data-icon='delete' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='1_$bestellungen_id'>Position löschen</a></td>");
echo utf8_encode("<td><a class='minus_button' href='#warenkorb' data-role='button' data-icon='minus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='2_$bestellungen_id'>eins weniger</a></td>");
echo"<td><a class='warenliste_button' href='#warenkorb' id='3_$bestellungen_id' data-mini='true'>$bestellungen_anzahl</a></td>";
echo utf8_encode("<td><a class='plus_button' href='#warenkorb' data-role='button' data-icon='plus' data-iconpos='notext' data-mini='true' data-inline='true' data-theme='b' id='4_$bestellungen_id'>eins mehr</a></td>");
echo utf8_encode("<td><a class='warenliste_button' href='#warenkorb' id='5_$bestellungen_id' data-mini='true' data-inline='true'>$produkte_bezeichnung</a></td>");
echo "</tr>";
答案 0 :(得分:0)
我想看看优化你的代码,尝试删除类选择器并用id选择器替换它们,它在你的选择器中更具体,即do button.warenliste_button_class。
我会对此进行排序,因为崩溃可能是因为脚本在执行时内存不足。还要检查firebug / console以检查是否发生了什么,检查长时间运行的脚本,发布的大量数据等。
查看此链接以获取更多优化提示
http://www.archer-group.com/2011/technology/jquery-javascript-optimization
没有更多信息,例如jquery正在操作的函数和数据,我没有更多的建议。