这两天发现,小米1+上,图文详情老是闪退,好吧,商品详情问题还是挺多的

报错信息是:

07-24 09:59:08.601: W/crash_handler(6887): Caught a crash, signum=11

07-24 09:59:08.601: E/webcore(6887): Report WebCore crash to the ErrorReportUtils at:Fri Jul 24 09:59:08 格林尼治标准时间+0800 2015

07-24 09:59:09.621: A/libc(6887): Fatal signal 11 (SIGSEGV) at 0x00001ae7 (code=0), thread 6887 (.android.member)

查了一下,是因为图文详情内容过长,且都是图片,然后小米1+默认开启了硬件加速导致,关闭硬件加速后,正常。

这里稍微提一下就是该放到哪个级别去控制,如果放到Activity的话,有些手机或者有些android版本会导致显示效果不好,如黑屏,锯齿等等,最好放到容易出问题的View上。

下面是硬件加速的详细介绍

从Android3.0(API Level 11)开始,Android 2D渲染管道能够更好的支持硬件加速。硬件加速执行的所有的绘图操作都是使用GPU在View对象的画布上来进行的。因为启用硬件加速会增加资源的需求,因此这样的应用会占用更多的内存。

启用硬件加速的最容易的方法是给整个应用程序都打开全局硬件加速功能。如果应用程序只使用标准的View和Drawable,那么打开全局硬件加速不会导致任何的不良的绘制效果。但是,因为硬件加速并不支持所有的2D图形绘制操作,所以对于那些使用定制的View和绘制调用的应用程序来说,打开全局硬件加速,可以会影响绘制效果。问题通常会出现在对那些不可见的元素进行了异常或错误的像素渲染。为了避免这种问题,Android提供以下级别,以便可选择性的启用或禁止硬件加速:

1. Application

2. Activity

3. Window

4. View

如果应用程序执行了定制化的绘图,就要在实际的带有硬件加速的硬件设备上测试,以便发现问题。

控制硬件加速

能够用以下级别来控制硬件加速

Application级别

在应用的Android清单文件中,把下列属性添加到元素中,来开启整个应用程序的硬件加速。

Activity级别

如果应用程序不能够正确的使用被打开的全局硬件加速,那么也可以对Activity分别进行控制。在元素中使用android:hardwareAccelerated属性,能够启用或禁止Activity级别的硬件加速。以下示例启用全局的硬件加速,但却禁止了一个Activity的硬件加速:

Window级别

如果需要更细粒度的控制,就可以使用下列代码来针对给定的窗口来启用硬件加速:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);

注意:当前不能在Window级别禁止硬件加速。

View级别

能够使用下列代码在运行时针对一个独立的View对象来禁止硬件加速:

myView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);

注意:当前不能在View级别开启硬件加速。View层除了禁止硬件加速以外,还有其他的功能,更多的相关信息请看本文的“View层”。

android硬件加速默认,android 硬件加速相关推荐

  1. Android 4.0的图形硬件加速及绘制技巧

    [51CTO独家特稿]从Android 3.0开始,Android 2D的绘制流程就设计为能够更好地支持硬件加速.使用GPU的View在Canvas上进行画的操作时都会使用硬件加速.在最新的Andro ...

  2. android关闭硬件动画加速器,Android中的硬件加速

    从Android 3.0开始,Android的2D渲染管线可以更好的支持硬件加速.硬件加速使用GPU进行View上的绘制操作. 硬件加速可以在一下四个级别开启或关闭: Application Acti ...

  3. Android 屏幕绘制机制及硬件加速

    文章目录 前言 硬件加速 CPU / GPU结构对比 OpenGL Android 的图形组件 画笔 画纸 画板 合成及显示 CPU / GPU 绘制过程 软件绘制 硬件加速 视图构建 额外点 硬件加 ...

  4. android开启加速功能,Android硬件加速开发简介

    从 Android 3.0(API Level 11)开始,Android 2D 渲染管线被设计为能更好地支持硬件加速功能. 硬件加速功能将所有在 View 组件的 Canvas 上执行的绘制操作都交 ...

  5. Android开发如何关闭GPU硬件加速

    转自:https://www.jianshu.com/p/41d9ed3bf23a 在AndroidManifest.xml文件为application标签添加如下的属性即可为整个应用程序开启/关闭硬 ...

  6. Android 错把setLayerType当成硬件加速

    一次硬件加速的讨论,setLayerType只能关闭硬件加速,和layer的作用!!! 硬件加速默认开启,layerType默认为none 硬件加速 在硬件加速关闭的时候,Canvas 绘制的工作方式 ...

  7. 通过硬件层提高Android动画的性能

    通过硬件层提高Android动画的性能 转自http://www.devtf.cn/?p=1195 曾有许多人问我为什么在他们开发的应用中,动画的性能表现都很差.对于这类问题,我往往会问他们:你们有尝 ...

  8. android悬浮球代码,Android 仿360悬浮球与加速球

    先来看一张动态图 昨天跟着视频学了如何自定义View并做成仿360悬浮球与加速球的样式 可以看出来,做成的效果有: 点击按钮后退出Activity,呈现一个圆形的悬浮球,可以随意拖动并会自动依靠到屏幕 ...

  9. android 悬浮球动画,Android 仿360悬浮球与加速球

    先来看一张动态图 昨天跟着视频学了如何自定义View并做成仿360悬浮球与加速球的样式 可以看出来,做成的效果有: 点击按钮后退出Activity,呈现一个圆形的悬浮球,可以随意拖动并会自动依靠到屏幕 ...

最新文章

  1. 启动计算机加密码,电脑给硬盘设置启动密码加密的方法
  2. 国产GPU为何“一夜杀到老黄城下”?
  3. 【干货】产品经理处理工作中突发事件的新技能Get!
  4. vivo分屏_vivo分屏+Jovi语音助手!让你找到解题新思路
  5. Struts 体系结构与工作原理(图) .
  6. int*类型和int类型_mysql8.0.19中在navicat客户端中int、bigint等类型设置长度保存后为0...
  7. Power Strings
  8. JDK可视化工具 | JConsole操作指南,手把手教会你
  9. 删除用户账号的命令 mysql_【Mysql】常用指令之——用户操作(创建,授权,修改,删除)...
  10. centos7 下的“No packages in any requested group available to install or update”问题
  11. 大数据-实验2 熟悉常用的HDFS操作
  12. pytorch_图片分类_猫狗猴
  13. (转)Top Ten Web Hacking Techniques of 2011
  14. android屏幕投屏QT,QtScrcpy - 安卓手机轻松投屏到电脑
  15. 证明碰撞集(HITTING SET)问题是NP完全问题
  16. 310569138 294609417 297440781 猪八戒上的骗子
  17. Dlink DIR-615L 和水星(mercury) MW300R桥接方法!
  18. Martin Fowler三万字解读源代码分支管理模式 | IDCF
  19. 提高自己的文字表达能力
  20. Linux---Kernal与Shell讲解

热门文章

  1. 一汽妈妈叫你来看跌停
  2. 4GCPE工业路由器使用方法 4G转WiFi 网口 有线 串口 以太网
  3. java时区问题_Java时区问题
  4. 计算机通过镜子测试,人工智能通过镜子测试或许只是一个悖论
  5. 生物+化学 SY000 实验传闻记录 简述(暂记)
  6. 苹果x电池容量_苹果iPhone X电池老化严重:越来越多用户收到性能劣化影响
  7. oracle select执行顺序,oracle select执行顺序的详解
  8. 用精密减压阀控制空气采样泵气体压力
  9. 数字示波器的使用方法
  10. logging level级别