【问题标题】:WebView and native browser crash on simple HTMLWebView 和本机浏览器在简单 HTML 上崩溃
【发布时间】:2012-10-18 17:45:14
【问题描述】:

在我的应用程序的 WebView 中努力寻找崩溃的原因后,我发现一个非常基本的网页甚至会导致两个特定 HTC 型号上的原生 Android 浏览器崩溃。

有问题的型号是 HTC Desire HD (Android 2.3.5) 和 HTC Desire C (Android 4.0.3)。其他设备在加载页面时没有问题,包括其他一些 HTC 型号。

导致崩溃的 HTML:

<html>
  <body>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Alkmaar, Almere, Amersfoort, Amsterdam, Arnhem, Bergen op Zoom, Beverwijk, Breda, Delft, Den Bosch, Den Haag, Deurne, Deventer, Diemen, Eindhoven, Enschede, Goes, Groningen, Haarlem, Harlingen, Heemstede Hengelo, Hoorn, IJmuiden, Leeuwarden, Leiden, Nieuwegein, Nijmegen, Noordwijk, Oldenzaal, Oss, Oud-Beijerland, Purmerend, Roosendaal, Rotterdam, Scheveningen, Schiedam, Schiphol, Tiel, Utrecht, Valkenswaard, Velsen, Venray, Vlaardingen, Waalwijk, Zandvoort, Zeist en Zevenaar.</p>
  </body>
</html>

为了方便访问:http://demos.pixplicity.com/so13121158.html

奇怪的是:如果我删除了城市(“Alkmaar, [...] Zevenaar”),或者将它们移动到段落的开头,浏览器就不再崩溃了。

我收集了浏览器崩溃时Logcat的快照,但唯一有意义的行是:

A/(7437):检测到堆栈损坏:已中止

我完全不知道为什么会这样。欢迎提出任何建议!

【问题讨论】:

    标签: android webkit android-webview android-browser


    【解决方案1】:

    我在 HTC one V 上得到了同样的结果。

    根据this 的回答,“该消息表明本机堆栈损坏。使用 gcc 标志“-fstack-protector”时插入了检测堆栈缓冲区溢出的代码。”

    所以我认为这是平台本身的错误。 (无论如何,在我的情况下,因为我的应用程序中没有 JNI 代码)

    【讨论】:

    • 我也猜到了。我希望有人可以深入了解导致 HTC 的 WebView 实现崩溃的原因。
    • 呃,现在我不能告诉你。我很有兴趣自己找出答案。我认为这可能与它处理换行的方式有关,但即使手动添加换行符或拆分为两个段落元素似乎也无法防止崩溃。
    • 如果您像我一样,可以将 HTML 缩减为崩溃的最小工作示例,您将能够查明导致它的原因?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2014-03-11
    • 2013-08-16
    • 2013-01-06
    • 1970-01-01
    相关资源
    最近更新 更多