【发布时间】:2011-05-20 09:20:58
【问题描述】:
在将某些 .swf 文件加载到 WebView 时,在 flash 文件开始显示后的一瞬间,我的应用程序因 Signal 11 故障而关闭。没有抛出我可以看到的异常。 Example LogCat dump here。
将相同的 .swf 文件加载到常用的 Android 浏览器时,会显示一个错误图标,而不是关闭。触摸它会打开一个弹出窗口,说明:“Adobe Flash;内存不足”。
我的问题是:有没有办法在 SIGSEGV 发生之前捕获内存不足错误——防止任务被终止——就像股票浏览器所做的那样?任何帮助将不胜感激!
注意:我正在 Android 2.2 下使用 HTC 版本的 Flash 插件进行测试,但似乎在其他非 HTC 设备上也会出现同样的问题。我将 swf 文件直接加载到 WebView 中,使用:
webView.loadUrl("http://whatever.com/bla.swf");
(启用插件和 JavaScript)。它在大多数情况下都能完美运行——只有少数文件会导致问题。我尝试了各种减少内存的建议(例如清除 WebView 缓存),但均未成功。
【问题讨论】:
-
在此处添加了相关问题:stackoverflow.com/questions/6185407/…。虽然它是关于同一个基本问题,但它是一个单独的问题,因为这个问题主要基于一个错误的前提(感谢 Adobe 的误导性错误消息)。
标签: android webview flash segmentation-fault