Hardware Acceleration
来源:互联网 发布:加湿器推荐 知乎 编辑:程序博客网 时间:2024/05/21 09:17
Hardware Acceleration
从Android3.0(API版本11)开始,Android 2D渲染管线设计的更好来支持硬件加速。硬件加速使得所有在View的Canvas上的的绘制操作都通过GPU来完成。由于使能硬件加速需要更多的资源,你的应用将会消耗更多的RAM.
最简单的使能硬件加速的方法是全局的为所有应用打开硬件加速。如果你的应用只使用标准的Views和Drawables,全局的打开他也不会对绘制产生任何不利的影响。但是,由于硬件加速并不支持所有的2D绘制操作,如果你的应用使用一些自定义的View或者绘制接口,打开硬件加速可能会对你的应用产生影响。产生的问题可能是不可见的成员,异常或者错误的渲染像素。要解决此问题,Android提供了如下层次的使能和不使能硬件加速的选项:
应用层
Activity层
Window层
View层
如果你的应用需要自定义的绘制,打开硬件加速来测试你的应用在真实的硬件设备上是否有任何文件。Unsupported drawing operations 章节描叙了不能使用硬件加速的已知的问题以及如何解决他们。
Controlling Hardware Acceleration(控制硬件加速)
你可以在如下层次控制硬件加速
Application
Activity
Window
View
Application level
在你的AndroidManifest.xml文件中,在<application>标记添加如下属性来为你的整个应用使能硬件加速
如果当应用在全局打开硬件加速时并不能正常的工作,你同样也可以对个别的activity进行控制。要在Activity层使能或者不使能硬件加速,你可以为<activity>元素使用android:hardwareAccelerated属性,如下的实例为整个应用使能硬件加速但是为某一个acitivty不使能硬件加速。
View level
你可以在运行的时候通过如下代码为某个View不使能硬件加速
从Android3.0(API版本11)开始,Android 2D渲染管线设计的更好来支持硬件加速。硬件加速使得所有在View的Canvas上的的绘制操作都通过GPU来完成。由于使能硬件加速需要更多的资源,你的应用将会消耗更多的RAM.
最简单的使能硬件加速的方法是全局的为所有应用打开硬件加速。如果你的应用只使用标准的Views和Drawables,全局的打开他也不会对绘制产生任何不利的影响。但是,由于硬件加速并不支持所有的2D绘制操作,如果你的应用使用一些自定义的View或者绘制接口,打开硬件加速可能会对你的应用产生影响。产生的问题可能是不可见的成员,异常或者错误的渲染像素。要解决此问题,Android提供了如下层次的使能和不使能硬件加速的选项:
应用层
Activity层
Window层
View层
如果你的应用需要自定义的绘制,打开硬件加速来测试你的应用在真实的硬件设备上是否有任何文件。Unsupported drawing operations 章节描叙了不能使用硬件加速的已知的问题以及如何解决他们。
Controlling Hardware Acceleration(控制硬件加速)
你可以在如下层次控制硬件加速
Application
Activity
Window
View
Application level
在你的AndroidManifest.xml文件中,在<application>标记添加如下属性来为你的整个应用使能硬件加速
<application android:hardwareAccelerated="true" ...>Activity level
如果当应用在全局打开硬件加速时并不能正常的工作,你同样也可以对个别的activity进行控制。要在Activity层使能或者不使能硬件加速,你可以为<activity>元素使用android:hardwareAccelerated属性,如下的实例为整个应用使能硬件加速但是为某一个acitivty不使能硬件加速。
<application android:hardwareAccelerated="true"> <activity ... /> <activity android:hardwareAccelerated="false" /></application>Window level
如果你需要更好的控制,你可以为某个View通过如下代码使能硬件加速:
getWindow().setFlags( WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);注意:当前不能在Window层不使能硬件加速。
View level
你可以在运行的时候通过如下代码为某个View不使能硬件加速
myView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);注意:当前还不支持在View层使能硬件加速。View层有其他的函数来不使能硬件加速。查看View layers来获取更多的信息
0 0
- Hardware Acceleration
- Hardware Acceleration
- Hardware Acceleration
- Hardware Acceleration
- Android hardware acceleration
- Hardware Acceleration硬件加速
- android-Hardware Acceleration
- Android 3.0 Hardware Acceleration
- Hardware Acceleration(硬件加速)
- Android——Hardware Acceleration
- Android Hardware Acceleration研究未遂
- API Guide---Hardware Acceleration硬件加速
- Android Hardware Acceleration(硬件加速)详解
- Emulation currently requires hardware acceleration
- Android API Guides---Hardware Acceleration
- Understanding Hardware Acceleration on Mobile Browsers
- Android——硬件加速(Hardware Acceleration)
- Android——硬件加速(Hardware Acceleration)
- Oracle 11g中Temp临时表空间、文件的新特性
- hash实现--开放寻址方式
- Spring@Autowired注解与自动装配
- 我的C#项目笔记
- java vector arraylist linkedlist用法与区别
- Hardware Acceleration
- eclipse中如何用gradle构建android项目
- postgresql数据库改变data目录
- Ajax兼容问题
- __disable_irq是在哪里定义的
- linux 删除文件 空间没有释放
- 读写一个cookie
- Android下载管理DownloadManager功能扩展和bug修改
- 自动开启GPS服务