使用webview时Android堆内存错误

时间:2014-06-23 08:41:12

标签: android webview

我有一个使用webview的android应用程序,以显示网站的一些信息 我遇到的问题是当我尝试在站点内的页面之间导航时。我收到以下错误,之后应用程序崩溃:

@@@ ABORTING: HEAP MEMORY CORRUPTION IN dlmalloc Fatal signal 11 (SIGSEGV) at 0xdeadbaad (code=1)
在阅读了一些帖子之后,我已经禁用了缓存,我在 onCreate 方法中添加了一个WebChromeClient,我用它来加载网站,但应用程序仍然崩溃并出现同样的错误

webView.setWebViewClient(new WebViewClient());
WebSettings webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient());
webSettings.setAppCacheEnabled(false);
webView.loadUrl("the_url_address");  

我使用的Android版本是4.0.3。此外,加载的网站正在发出一些异步请求,但我不认为这应该是一个问题 注意:我还测试了Android 4.4.2并且问题没有重现

任何提示都将受到赞赏。

2 个答案:

答案 0 :(得分:0)

试试这个:

在AndroidManifest.xml中

android:hardwareAccelerated="true"
android:largeHeap="true"    

<application android:hardwareAccelerated="true" android:largeHeap="true" android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="HelloWorld" android:theme="@android:style/Theme.Black.NoTitleBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

答案 1 :(得分:0)

问题似乎来自我乱糟糟的操作系统(可能是由安装/卸载损坏的应用程序引起的)。

一段时间后出现这个问题我的手机出现了一些性能问题,我不得不重新安装操作系统。刷新后,问题不再发生了。