zoukankan      html  css  js  c++  java
  • Android 布局错乱 Android花屏

    最近做项目,妈的,有个一个很难受的bug.
    这个bug ,自己这里没有手机,没有办法复现,找到了手机之后。解决了。

    我先给大家看下什么叫布局错乱,花屏:

    来张正常的图片:
    这里写图片描述

    正常情况下是这样的。然后,

    错误的情况下:

    这里写图片描述

    全乱了。有的图片都没有显示出来。

    我说一下复现步骤:

    1。打开应用
    2。最近任务,一键杀死所有进程。
    3。点击应用
    4。home 键会桌面。
    5。点击应用或者最近任务启动程序。

    就出现了。

    还好有log输出,不然真的不知道哪里的问题。开始我自己也乱了,妈的,这是哪里的问题?不就是到了后台?

    后来我就盯着logcat 看,我发现,只要屏幕乱了,就会出现:

    OpenGLRenderer: GL error: GL_INVALID_VALUE

    sb 都能看懂,GL 绘图错了。 但是不是每次都输出这个log 奥。有时候,会输出:E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)

    然后我就百度。

    然后就知道了,硬件加速导致的问题。关于硬件加速导致的问题,网上一堆。

    怎么关闭呢?一般都不会让你在应用程序里面直接关闭,粒度太大。
    我的是webview那么就在自己的webview里面不开启就可以了。最小粒度的去解决了问题。记住,一定要在构造函数里面关闭,别问怎么知道的。

    	public CustomWebView(Context context) {
    		super(context);
    		webViewId = toString();
    		setLayerType(View.LAYER_TYPE_SOFTWARE, null);
    	}
    

    setLayerType(View.LAYER_TYPE_SOFTWARE, null); 就可以了。

    参考

    参考2

  • 相关阅读:
    线段树
    坐标离散化
    超大背包问题
    折半枚举 双向搜索
    弹性碰撞
    反转 开关问题
    尺取法
    二分法
    最小生成树
    区间素数筛法
  • 原文地址:https://www.cnblogs.com/caoxinyu/p/10568596.html
Copyright © 2011-2022 走看看