Android支持库——RenderScript

移动开发 Android
最近一段时间以来我们听到的来自开发者的一个普遍反馈,就是要求我们为更多的设备提供RenderScript的最新特性支持。

最近一段时间以来我们听到的来自开发者的一个普遍反馈,就是要求我们为更多的设备提供RenderScript的***特性支持。在过去的几个Android发行版本里,我们已经为RenderScript运行时加入了大量的功能了,但是这些功能很多都是有Android版本依赖性的,因此很多新功能在落实到具体设备的时候还是有很大的局限性。对此,我们从去年开始做出各种努力解决问题,现在,我们应该可以把我们的工作成果和Android开发者们分享了。

 

 

这次我们要宣布的***的RenderScript支持库是随着***的SDK工具包一起发布的,它能让开发者在不同版本的平台上充分发挥RenderScript的功能,目前可以最早支持到Android 2.2(Froyo).

通过使用ADT版本22.2,SDK工具包版本22.2,以及Android构建工具版本18.1.0,从Android 2.2以及之后的版本的应用程序都能够实现在Android 4.3版本的RenderScript中提供的几乎所有功能。其中包括***的RenderScript功能,例如高性能处理和性能优化,都可以通过script来实现。

使用RenderScript支持库

使用RenderScript支持库的方式非常直白。你值需要更新ADT和SDK工具包到***版本,然后做两个最简单的操作,就可以把RenderScript加入到你的app当中:

1. 在你需要使用RenderScript的类中,导入RenderScript图形库包:android.support.v8.renderscript 。如果你你已经有了内置的RnederScript(例如你用的是Android 4.3版本),你需要把导入包从android.renderscript改为android.support.v8.renderscript

  1. import android.support.v8.renderscript.*;  

2. 在你的project.properties里,确保你的目标代码是android-18,并加入下列代码:

  1. renderscript.target=18
  2. renderscript.support.mode=true
  3. sdk.buildtools=18.1.0  

这就可以了!通过RenderScript支持库,你能够继续在app开发中使用原生的RenderScript包(有一些小小的例外情况,下面会提到),并且你还能在你自己的脚本中使用RenderScript工具链的***特性。

完整的RenderScript支持库设置详细步骤见:Accessing RenderScript Java APIs.

API实现细节

如果你有意向在应用开发中使用RenderScirpt支持库,那么下面几件事情你应该知道:

首先,RenderScript支持库支持几乎所有的原生RenderScript API功能。但是有几个例外:Allocation.USAGE_IO_INPUTAllocation.USAGE_IO_OUTPUT。这两个API目前还没有包含到RenderScript支持库里。

其次,Android 4.2和更早的设备会强制RenderScript应用在CPU上运行,不过4.3和以后的版本会让他们的RenderScript应用在任意空闲的处理器上运行。因为支持库脚本版本的脚本必须通过预编译才能支持跨平台特性,所以预编译脚本在性能相较于Android 4.3版本的RenderScript运行时编译方式会略有损耗,因为预编译脚本在编译优化方面有一定的限制。

我们真的非常高兴能够看到RenderScript支持库的推出。目前已经有一些发布的应用里使用到了RenderScript支持库——例如Google+ Android应用(2013年5月之后的版本)的照片编辑器里就使用了RenderScript支持库,在将来一些更大,更流行的应用里面,RenderScript会更多地证明自己。我们希望你也会喜欢RenderScript支持库。

责任编辑:张叶青 来源: importnew
相关推荐

2012-03-01 16:18:32

NDKRenderScripAndroid

2024-04-07 11:40:40

Android框架

2021-04-20 09:09:10

Android 12GoogleVulkan API

2017-01-17 16:45:35

githubinstagramandroid

2011-12-09 20:28:50

2020-05-25 09:30:00

UIWeb黑暗模式

2011-03-30 16:20:35

RubyJRubyAndroid

2009-06-30 00:45:54

Oracle数据库

2011-04-14 11:14:21

OracleNoSQLMySQL

2013-03-08 12:48:14

BYODiOSAndroid

2013-05-23 10:26:27

Chrome for google

2019-12-25 09:13:58

Python机器学习编程语言

2016-10-09 10:59:26

Azure SQL数据库JSON

2016-09-07 14:08:01

AzureSQLJSON

2009-03-27 14:40:38

AndroidiPhoneFlash

2009-02-20 19:50:42

Android远程维护

2014-08-08 09:39:40

httpClient

2011-03-03 14:23:42

BlackBerry

2013-02-25 09:35:44

2011-10-11 10:10:57

点赞
收藏

51CTO技术栈公众号