关于android硬件加速器的问题
在Android 4.0的某些设备上,在View
刷新时会出现花屏和屏幕上的某些View错位的现象。 经过调查后发现adb logcat
中出现很多OpenGLRenderer: 0x501
的错位:
09-18 14:34:39.090: DEBUG/OpenGLRenderer(3104): GL error from OpenGLRenderer: 0x501
从这个日志,初步怀疑是硬件加速导致的问题。 经过分析发现使用了比较复杂的自定义View
,可能会导致硬件加速渲染出错。
硬件加速的优点与缺点
硬件加速能使用GPU来加速2D图像的渲染速度,但是硬件加速并不能完全支持所有的渲染操作, 针对自定义的View,硬件加速可能导致渲染出现错误。 如果有自定义的View,需要在硬件加速的设备上进行测试,如果出现渲染的问题,需要关闭硬件加速。
开启和关闭硬件加速
对硬件加速的开关可以在不同的级别进行控制:
- Application
- Activity
- Windows
- View
Application级别
在Applciation级别控制硬件加速的开关:
<application android:hardwareAccelerated="true" ...>
Activity级别
可以对单个的Activity
控制是否启用硬件加速:
<application android:hardwareAccelerated="true">
<activity ... />
<activity android:hardwareAccelerated="false" />
</application>
Window级别
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View级别
在指定的View上关闭硬件加速:
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
或者使用android:layerType="software"
来关闭硬件加速:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:paddingLeft="2dp"
android:layerType="software"
android:paddingRight="2dp" >
关于android硬件加速器的问题相关推荐
- android硬件加速器及其问题小结
发现自己的手机上某个界面出现了花屏,某些控件背景被拉伸过多遮住了其他控件,很难看.这种现象高概率出现,分析了下发现:一旦发生这种现象,必然会打印下面这种log,google了下,这种log应该是硬件加 ...
- 硬件加速器为人工智能应用服务
硬件加速器为人工智能应用服务 Hardware accelerators serve AI applications 硬件加速器(Hardware accelerators)是用于执行特定任务(如对对 ...
- VT-x/AMD-V 硬件加速器已被启动,但当前处于无效状态
今天在virtualboxvbox中安装64位centos6.5时出现以下错误: VT-x/AMD-V硬件加速器已被启动,但当前处于无效状态.您虚拟电脑内的操作系统将无法检测到64位的CPU,因此也将 ...
- Android 系统(175)---Android硬件加速原理与实现简介
Android硬件加速原理与实现简介 在手机客户端尤其是Android应用的开发过程中,我们经常会接触到"硬件加速"这个词.由于操作系统对底层软硬件封装非常完善,上层软件开发者往往 ...
- Android 系统(66)---Android硬件加速相关问题总结
Android硬件加速相关问题总结 从Android 3.0开始就支持硬件加速,充分利用GPU的特性,使得绘制View的时候更加平滑.例如在ListView(GridView)或者WebView中使用 ...
- Android硬件开发------计步传感器
在上一节<Android硬件开发------传感器介绍>中,简单介绍了Android手机的传感器类型,通过SensorManager引出传感器的使用方法,通过注册监听器,监听传感器返回的参 ...
- [学习记录]浅谈Android硬件加速
最近看了一些Android硬件加速的文章,因此做个记录与总结 众所周知 ,如果使用GPU进行图形绘制,就认为是硬件减速绘制:反之,则是软件绘制. 以平时开发举例,实现一个圆角矩形按钮通常有两种方案:使 ...
- android+硬件服务,android之硬件访问服务框架
一.硬件接口描述文件aidl 新增\frameworks\base\core\java\android\os\ILedService.aidl 二.mk编译脚本 修改vi frameworks/bas ...
- 基于近端策略优化的阻变存储硬件加速器自动量化
摘 要 卷积神经网络在诸多领域已经取得超出人类的成绩.但是,随着模型存储开销和计算复杂性的不断增加,限制处理单元和内存单元之间数据交换的"内存墙"问题阻碍了其在诸如边缘计算和物联网 ...
- [Android] 迅游加速器 5.1.26.1免费版 2020.6.16更新
[Android] 迅游加速器 5.1.26.1免费版 2020.6.16更新 蓝奏云下载链接 求关注持续跟新
最新文章
- C#中的ICollection接口
- linux的编程命令,linux编程常用命令
- Intel Realsense D435 如何获取摄像头的内参?get_profile() video_stream_profile() get_intrinsics()
- 【笔记】An explainable deep machine vision framework for plant stress phenotyping
- 【华为云分享】机器学习笔记(七) ---- 贝叶斯分类
- 《数值分析(原书第2版)》—— 1.5 不需要导数的根求解
- c语言写死循环程序,通过简单的例子看c程序死循环
- 2021我的前端开发年度总结
- zh-cn 和zh的意思
- 这一季绿色智能制造“英雄联盟”已集结, 有哪些新鲜点?
- #爬取电影天堂的磁力链接#
- 嵌入式典型ARM处理器介绍以及分类
- 最大子序列和问题(动态规划)
- Instruments使用
- 美国股票市场上市规则摘要纽约证券交易所
- Java常用设计模式之装饰者模式
- 冷冻冷藏货架 速度快效率高的冷藏仓库货架
- 我了解的计算机病毒,什么是计算机病毒,计算机病毒了解介绍
- 牛血清蛋白修饰酚酸类及生物碱类小分子/偶联微球的蛋白/牛红细胞SOD的研究
- 【幻灯片制作软件】Focusky教程 | 设置动画进入/强调/退出特效