
- Android 基礎
- Android - 首頁
- Android - 概述
- Android - 環境搭建
- Android - 架構
- Android - 應用元件
- Android - Hello World 示例
- Android - 資源
- Android - 活動 (Activities)
- Android - 服務 (Services)
- Android - 廣播接收器 (Broadcast Receivers)
- Android - 內容提供器 (Content Providers)
- Android - 片段 (Fragments)
- Android - Intent/過濾器
- Android - 使用者介面
- Android - UI 佈局
- Android - UI 控制元件
- Android - 事件處理
- Android - 樣式和主題
- Android - 自定義元件
- Android 高階概念
- Android - 拖放
- Android - 通知
- 基於位置的服務
- Android - 傳送郵件
- Android - 傳送簡訊
- Android - 打電話
- 釋出 Android 應用
- Android 實用示例
- Android - 警報對話方塊
- Android - 動畫
- Android - 音訊捕獲
- Android - AudioManager
- Android - 自動完成
- Android - 最佳實踐
- Android - 藍牙
- Android - 相機
- Android - 剪貼簿
- Android - 自定義字型
- Android - 資料備份
- Android - 開發者工具
- Android - 模擬器
- Android - Facebook 整合
- Android - 手勢
- Android - Google 地圖
- Android - 圖片特效
- Android - ImageSwitcher
- Android - 內部儲存
- Android - JetPlayer
- Android - JSON 解析器
- Android - LinkedIn 整合
- Android - 載入動畫 (Loading Spinner)
- Android - 本地化
- Android - 登入介面
- Android - MediaPlayer
- Android - 多點觸控
- Android - 導航
- Android - 網路連線
- Android - NFC 指南
- Android - PHP/MySQL
- Android - 進度圓圈
- Android - ProgressBar
- Android - 推送通知
- Android - RenderScript
- Android - RSS 閱讀器
- Android - 螢幕錄製
- Android - SDK 管理器
- Android - 感測器
- Android - 會話管理
- Android - Shared Preferences
- Android - SIP 協議
- Android - 拼寫檢查器
- Android - SQLite 資料庫
- Android - Support Library
- 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 提供的原生開發工具包 (NDK) 中完成的。RenderScript 對於執行以下型別操作的應用非常有用:
- 3D 渲染
- 影像處理
- 計算攝影
- 計算機視覺
RenderScript 的工作原理
RenderScript 框架基本上是基於資料平行計算的。它將應用程式的工作負載分配到裝置上可用的所有處理器上,例如多核 CPU 或 GPU。
這種並行工作負載分配使程式設計師無需擔心負載平衡和工作排程。您可以為您的應用程式編寫更詳細和複雜的演算法,而無需擔心計算能力。
如何開始
要使用 RenderScript 框架,您必須具備以下兩項:
- RenderScript 核心
- RenderScript API
RenderScript 核心
核心是一個管理資料處理指令並在中央處理單元上管理工作負載的程式。核心是作業系統的一個基本部分。
同樣,要執行 RenderScript 框架,我們需要一個名為核心的指令碼檔案來管理來自我們應用程式的所有資料處理請求,並利用 NDK 提供的 Android 作業系統的更多功能,如前所述,RenderScript 的開發是在 Android 的原生開發工具包中完成的。
核心指令碼是用 C 語言的 C99 標準編寫的。此標準早於 C++ 的開發。RenderScript 核心指令碼檔案通常放在 **.rs** 檔案中。每個檔案都稱為指令碼。RenderScript 核心指令碼可以包含以下元素:
序號 | 元素和描述 |
---|---|
1 |
語言宣告 它宣告此指令碼中使用的 RenderScript 核心語言的版本。 |
2 |
包宣告 此宣告命名將受此核心程式碼影響的 Java 類的包名。 |
3 |
可呼叫函式 您可以使用任意引數從您的 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,您可以透過以下兩種方式進行:
序號 | API 和描述 |
---|---|
1 |
android.renderscript 此 API 可用於執行 Android 3.0 及更高版本的裝置。 |
2 |
android.support.v8.renderscript 此 API 可用於執行 Android 2.2 及更高版本的裝置。 |
要使用 Android Support Library,需要以下工具:
- 最新版本的 Android SDK 工具
- 最新版本的 Android SDK Build-tools
如何使用 RenderScript Support Library
首先開啟專案中的 **project.properties** 檔案,並在檔案中新增以下幾行:
renderscript.target=18 renderscript.support.mode=true sdk.buildtools=18.1.0
現在開啟使用 RenderScript 的主類,並新增對 Support Library 類的匯入,如下所示:
import android.support.v8.renderscript.*;
以下是我們在 **project.properties** 檔案中新增的上述屬性的目的。
序號 | 專案屬性和描述 |
---|---|
1 |
renderscript.target 它指定要生成的位元組碼版本。 |
2 |
renderscript.support.mode 它指定生成的位元組碼回退的相容版本。 |
3 |
sdk.buildtools 它指定要使用的 Android SDK build-tools 版本。 |
現在呼叫您的 RenderScript 核心函式並在您的應用程式中計算複雜的演算法。