在本章中,我们将了解Android RenderScript.通常Android上的应用程序被设计为尽可能少地使用资源.但是像某些3D游戏这样的应用程序需要在Android上进行高级处理.
为了提供这些应用程序,高性能的android引入了RenderScript.它是基于android的框架,用于运行执行高度计算任务的应用程序.这个框架的开发是在android提供的Native Development Kit(NDK)中完成的. RenderScript对执行以下类型的操作和减号的应用程序非常有用;
3D渲染
图像处理
计算摄影
计算机视觉
RenderScript的工作原理
RenderScript框架基本上是基于数据并行计算.它将您的应用程序工作负载分布在设备上可用的所有处理器上,如多核CPU或GPU.
这种并行工作负载分配使程序员免于负载平衡和工作调度的紧张.您可以为您的应用编写更详细和复杂的算法,而无需担心计算能力.
如何开始
要使用RenderScript Framework,您必须使用有以下两件事和减号;
一个RenderScript内核
RenderScript API
一个RenderScript内核
内核是一个管理数据处理指令和管理中央处理单元工作负载的程序.内核是一个操作系统的基本部分.
与运行RenderScript框架类似,我们需要一个名为Kernel的编写脚本来管理来自我们应用程序的所有数据处理请求并利用Android OS的更多功能由NDK提供,如前所述,RenderScript的开发是在Android的Native Development Kit中完成的.
内核脚本是用C语言的C-99标准编写的.本标准是在C ++开发之前. RenderScript内核脚本文件通常放在 .rs 文件中.每个文件都被称为脚本. RenderScript内核脚本可以包含以下元素 :
Sr.No | 元素&描述 |
---|---|
1 | A语言声明 它声明了此脚本中使用的RenderScript内核语言的版本. |
2 | 包裹声明 此声明命名将受此内核代码影响的Java类的包名称. |
3 | Invokable函数 您可以随意从JAVA代码中调用这些可调用函数参数. |
4 | 脚本全局变量 这些就像用C和C ++编程语言定义的变量一样.您可以从JAVA代码访问这些变量. |
以下是内核的示例代码&减去;
uchar4 __convert__((kernel)) invert(uchar4 in, uint32_t x, uint32_t y) { uchar4 out = in; out.r = 255 - in.r; out.g = 255 - in.g; return out;}
RenderScript API
如果要在API中使用RenderScript,可以执行此操作以下两种方式 :
Sr.No | API&描述 |
---|---|
1 | android .renderscript 此API适用于运行Android 3.0及更高版本的设备. |
2 | android.support.v8.renderscript 此API适用于运行Android 2.2及更高版本的设备. |
到android支持库以下工具是必需的&减;
最新的Android SDK工具版
最新的Android SDK构建 - 工具版本
如何使用RenderScript支持库
首先打开 project.properties 你的项目中的文件,并在文件中添加以下行 :
renderscript.target=18renderscript.support.mode=truesdk.buildtools=18.1.0
现在打开使用RenderScript的主类并为th添加导入e支持库类如下 :
import android.support.v8.renderscript.*;
以下是我们在 project.properties 文件中添加的上述属性的用途.
Sr.No | 项目属性&描述 |
---|---|
1 | renderscript .target 它指定要生成的字节代码版本. |
2 | renderscript.support.mode 它指定生成的字节代码的兼容版本. |
3 | sdk.buildtools 它指定要使用的Android SDK构建工具的版本. |
现在调用你的RenderScript内核函数并计算应用程序中的复杂算法.