zoukankan      html  css  js  c++  java
  • IllegalStateException: glDrawArrays: GLES20 error: 0x505

    运行相机demo时在页面退出和相机横竖屏切换(横竖屏切换本身也会重启页面)报错如下:

    E/CameraDeviceGLThread-0: Received exception on GL render thread:
    java.lang.IllegalStateException: glDrawArrays: GLES20 error: 0x505
    at android.hardware.camera2.legacy.SurfaceTextureRenderer.checkGlError(SurfaceTextureRenderer.java:537)
    at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawFrame(SurfaceTextureRenderer.java:346)
    at android.hardware.camera2.legacy.SurfaceTextureRenderer.drawIntoSurfaces(SurfaceTextureRenderer.java:724)
    at android.hardware.camera2.legacy.GLThreadManager$1.handleMessage(GLThreadManager.java:105)

    原因:OOM,因为一个app的内存只有64MB,而你在操作需要更多内存的文件.这个时候app无法申请到内存就会报这个错误.

    解决方法:

    在清单文件中添加 android:largeHeap="true" 属性

    <application
            android:name=".app.App"
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="demo"
            android:networkSecurityConfig="@xml/network_security_config"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"
            android:theme="@style/AppTheme"
            android:largeHeap="true"
            tools:replace="android:label">

    但是的话,只作为demo临时运行的解决方案还行,如果正式在项目中使用还是需要找到内存泄漏的原因解决才行哈。

    我这里的demo原因是有一些资源没释放,内存一直占用,释放后解决。

  • 相关阅读:
    visual studio 安装相关
    网站性能测试工具体[转]
    javascript使用小技巧
    代码复用(转)
    Sql Server 2005 服务器性能监视[转]
    dropdownlist
    C#中用SharpZipLib.dll实现压缩解压2
    过滤非法字符
    C#中用SharpZipLib.dll实现压缩解压
    详解DNS安装及配置多个二级域名的三种方法(图文教程) (转)
  • 原文地址:https://www.cnblogs.com/Sharley/p/13814765.html
Copyright © 2011-2022 走看看