一、硬件加速
对于Android来讲,在Api11之前是没有硬件加速的。在Api11之后才才支持硬件减速。在Api14之后,硬件加速的默认开启的。同样在Api11-13,虽然支持硬件加速,但是默认都是关闭的。
二、禁止硬件加速
如果应用运行程序在Api14之上,又正好用到不支持硬件加速的函数,此时就会禁止硬件加速,至于不支持硬件加速的函数有哪些,会在后面的文章中讲解。
Android中提供了四种禁止硬件加速的方法,分别是Application、Activity、Window、View。
1、Application
在AndroidManifest.xml中为application标签添加属性即可,可以为整个程序开启/关闭硬件加速。
<application
......
android:hardwareAccelerated="true"
/>
2、Activity
在AndroidManifest.xml中为activity标签添加属性即可,开启/关闭硬件加速。
<activity
......
android:hardwareAccelerated="true"
/>
3、Window
window层使用如下代码开启硬件加速,注:Windown层不支持关闭硬件加速。
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
4、View
view层使用如下代码禁用硬件加速,注:View层不支持开启硬件加速。
setLayerType(LAYER_TYPE_SOFTWARE, null);
或
<LinearLayout
......
android:layerType="software"
/>
三、Paint基本方法
方法名 | 含义 |
---|---|
reset() | 重置画笔 |
setColor(int color) | 设置画笔颜色值 |
setARGBr(int a,int r,int g,int b) | 设置画笔颜色值,利用A、R、G、B分开设置 |
setAlpha(int a) | 设置画笔透明度 |
setStyle(Paint.Style style) | 设置画笔样式:Paint.Style.FILL、Paint.Style.STROKE、Paint.Style.FILL_AND_STROKE,填充、描边、填充和描边 |
setStrokeWidth(float width) | 设置画笔宽度 |
setAntiAlias(boolean aa) | 设置画笔是否抗锯齿 |
setStrokeMiter(float miter) | 设置画笔倾斜度 |