Android 基础知识

Android - 主页 Android - 概述 Android - 下载安装和设置 Android - Studio IDE Android - 架构 Android - 应用程序组件 Android - Hello World 示例 Android - 资源 Android - 活动 Android - 服务 Android - 广播接收器 Android - 内容提供者 Android - 片段 Android - Intents/Filters

Android - 用户界面

Android - UI 布局 Android - UI 控件 Android - 事件处理 Android - 样式和主题 Android - 自定义组件

Android 高级概念

Android - 拖放 Android - 通知 Android - 基于位置的服务 Android - 发送电子邮件 Android - 发送短信 Android - 拨打电话 Android - 发布应用程序

Android 实用示例

Android - 警报对话框 Android - 动画 Android - 音频捕捉 Android - 音频管理器 Android - 自动完成 Android - 最佳实践 Android - 蓝牙 Android - 相机 Android - 剪贴板 Android - 自定义字体 Android - 数据备份 Android - 开发者工具 Android - 模拟器 Android - Facebook 集成 Android - 手势 Android - 谷歌地图 Android - 图像效果 Android - 图像切换 Android - 内部存储 Android - JetPlayer Android - JSON 解析器 Android - Linkedin 集成 Android - 旋转加载器 Android - 本地化 Android - 登录应用 Android - 媒体播放器 Android - 多点触控 Android - 导航 Android - 网络连接 Android - NFC 指南 Android - PHP/MySQL Android - 进度圈 Android - 进度条 Android - 推送通知 Android - 渲染脚本 Android - RSS 阅读器 Android - 屏幕投射 Android - SDK 管理器 Android - 传感器 Android - 会话管理 Android - 共享首选项 Android - SIP 协议 Android - 拼写检查器 Android - SQLite 数据库 Android - 支持库 Android - 测试 Android - 文字转语音 Android - TextureView Android - Twitter 集成 Android - UI 设计 Android - UI 模式 Android - UI 测试 Android - WebView 布局 Android - Wi-Fi Android - Widgets Android - XML 解析器

Android 其他

Android - 面试问题 Android - 有用的资源 Android - 测验


Android - RenderScript 渲染脚本

在本章中,我们将学习 Android RenderScript。 通常android上的应用程序被设计为消耗尽可能少的资源。 但是某些应用程序,例如某些 3D 游戏,需要在 android 上进行高级处理。

为了向这些应用程序提供高性能,android 引入了 RenderScript。 它是基于 android 的框架,用于运行执行非常高计算任务的应用程序。 这个框架的开发是在 android 提供的 Native Development Kit(NDK) 中完成的。 RenderScript 对于执行以下类型操作的应用程序非常有用 −

  • 3D 渲染
  • 图像处理
  • 计算摄影
  • 计算机视觉

RenderScript 的工作原理

RenderScript 框架基本上是基于数据并行计算的。 它将您的应用程序工作负载分配到您设备上所有可用的处理器上,例如多核 CPU 或 GPU。

这种工作负载的并行分布将程序员从负载平衡和工作调度的压力中解脱出来。 您可以为您的应用编写更详细、更复杂的算法,而无需担心计算能力。


如何开始

要使用 RenderScript 框架,您必须具备以下两个条件−

  • 一个 RenderScript 内核
  • 渲染脚本 API

一个 RenderScript 内核

内核是管理数据处理指令和管理中央处理单元工作负载的程序。内核是操作系统的基本组成部分。

同样地,为了运行 RenderScript 框架,我们需要一个名为 Kernel 的书面脚本来管理来自我们应用程序的所有数据处理请求,并利用 NDK 提供的 android OS 的更多功能,如前所述,RenderScript 的开发已经完成 在 Android 的 Native Development Kit 中。

内核脚本是用 C 语言的 C-99 标准编写的。 该标准在 C++ 开发之前。 RenderScript 内核脚本文件通常放在 .rs 文件中。 每个文件都称为脚本。 RenderScript 内核脚本可以包含以下元素 −

序号 元素 & 描述
1

A Language declaration

它声明了此脚本中使用的 RenderScript 内核语言的版本。

2

A package declaration

此声明命名将受此内核代码影响的 Java 类的包名称。

3

Invokable functions

您可以使用任意参数从您的 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,你可以通过以下两种方式来实现 −

序号 APIs & 描述
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=18
renderscript.support.mode=true
sdk.buildtools=18.1.0

现在打开使用 RenderScript 的主类并为支持库类添加导入,如下所示 −

import android.support.v8.renderscript.*;

以下是我们在 project.properties 文件中添加的上述属性的用途。

序号 项目属性 & 描述
1

renderscript.target

它指定要生成的字节码版本。

2

renderscript.support.mode

它为生成的字节码指定一个兼容的版本来回退。

3

sdk.buildtools

它指定要使用的 Android SDK 构建工具的版本。

现在调用您的 RenderScript 内核函数并在您的应用程序中计算复杂的算法。