Most visited

Recently visited

Added in API level 11

RenderScript

public class RenderScript
extends Object

java.lang.Object
   ↳ android.renderscript.RenderScript


此类提供对RenderScript上下文的访问,RenderScript上下文控制RenderScript初始化,资源管理和拆卸。 在创建任何其他RS对象之前,必须创建RenderScript类的一个实例。

Developer Guides

有关创建使用RenderScript的应用程序的更多信息,请阅读 RenderScript开发人员指南。

Summary

Nested classes

枚举 RenderScript.ContextType

ContextType指定要创建的特定上下文类型。

枚举 RenderScript.Priority

RenderScript工作线程优先级枚举。

class RenderScript.RSErrorHandler

运行时错误处理程序基类。

class RenderScript.RSMessageHandler

应用程序应从中派生的基类,以便从脚本接收RS消息。

Constants

int CREATE_FLAG_LOW_LATENCY

int CREATE_FLAG_LOW_POWER

int CREATE_FLAG_NONE

Public methods

void contextDump()

将当前可用的关于RS上下文状态的调试信息打印到日志中。

static RenderScript create(Context ctx, RenderScript.ContextType ct, int flags)

获取或创建指定类型的RenderScript上下文。

static RenderScript create(Context ctx, RenderScript.ContextType ct)

调用create(ctx,ct,CREATE_FLAG_NONE)有关详细信息,请参阅@create的文档

static RenderScript create(Context ctx)

调用create(ctx,ContextType.NORMAL,CREATE_FLAG_NONE)有关详细信息,请参阅@create的文档

static RenderScript createMultiContext(Context ctx, RenderScript.ContextType ct, int flags, int API_number)

创建一个RenderScript上下文。

void destroy()

销毁这个RenderScript上下文。

void finish()

等待任何挂起的异步操作(例如复制到RS分配或RS脚本执行)以完成。

final Context getApplicationContext()

获取与RenderScript上下文关联的应用程序上下文。

RenderScript.RSErrorHandler getErrorHandler()
RenderScript.RSMessageHandler getMessageHandler()
static long getMinorVersion()

返回可用于标识RS的特定次版本的标识符。

static void releaseAllContexts()

释放所有进程上下文。

void sendMessage(int id, int[] data)

一旦执行完所有先前的命令,将消息放入消息队列中以发送回消息处理器。

void setErrorHandler(RenderScript.RSErrorHandler msg)
void setMessageHandler(RenderScript.RSMessageHandler msg)
void setPriority(RenderScript.Priority p)

更改此上下文的工作线程的优先级。

Protected methods

void finalize()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。

Inherited methods

From class java.lang.Object

Constants

CREATE_FLAG_LOW_LATENCY

Added in API level 21
int CREATE_FLAG_LOW_LATENCY

常量值:2(0x00000002)

CREATE_FLAG_LOW_POWER

Added in API level 21
int CREATE_FLAG_LOW_POWER

常量值:4(0x00000004)

CREATE_FLAG_NONE

Added in API level 21
int CREATE_FLAG_NONE

常量值:0(0x00000000)

Public methods

contextDump

Added in API level 11
void contextDump ()

将当前可用的关于RS上下文状态的调试信息打印到日志中。

create

Added in API level 21
RenderScript create (Context ctx, 
                RenderScript.ContextType ct, 
                int flags)

获取或创建指定类型的RenderScript上下文。 返回的上下文将被缓存以供将来在该过程中重用。 当应用程序使用RenderScript完成时,它应该调用releaseAllContexts()过程上下文是一个为简化创建和生命周期管理而设计的上下文。 多次调用此函数将返回相同的对象,前提是它们使用相同的选项调用。 这允许在任何需要RenderScript上下文时使用它。 在API 23之前,这始终创建一个新的上下文。

Parameters
ctx Context: The context.
ct RenderScript.ContextType: The type of context to be created.
flags int: The OR of the CREATE_FLAG_* options desired
Returns
RenderScript RenderScript

create

Added in API level 18
RenderScript create (Context ctx, 
                RenderScript.ContextType ct)

调用create(ctx,ct,CREATE_FLAG_NONE)有关详细信息,请参阅@create的文档

Parameters
ctx Context: The context.
ct RenderScript.ContextType: The type of context to be created.
Returns
RenderScript RenderScript

create

Added in API level 11
RenderScript create (Context ctx)

调用create(ctx,ContextType.NORMAL,CREATE_FLAG_NONE)有关详细信息,请参阅@create的文档

Parameters
ctx Context: The context.
Returns
RenderScript RenderScript

createMultiContext

Added in API level 23
RenderScript createMultiContext (Context ctx, 
                RenderScript.ContextType ct, 
                int flags, 
                int API_number)

创建一个RenderScript上下文。 这是一个高级函数,用于需要创建多个RenderScript上下文以供同时使用的应用程序。 如果您需要单个上下文,请使用create()

Parameters
ctx Context: The context.
ct RenderScript.ContextType
flags int
API_number int
Returns
RenderScript RenderScript

destroy

Added in API level 11
void destroy ()

销毁这个RenderScript上下文。 一旦调用此函数,使用此上下文或属于此上下文的任何对象都是非法的。 API 23+,如果使用create()创建上下文,则此函数是NOP。 请使用releaseAllContexts()清除使用create函数创建的上下文。

finish

Added in API level 11
void finish ()

等待任何挂起的异步操作(例如复制到RS分配或RS脚本执行)以完成。

getApplicationContext

Added in API level 11
Context getApplicationContext ()

获取与RenderScript上下文关联的应用程序上下文。

Returns
Context The application context.

getErrorHandler

Added in API level 11
RenderScript.RSErrorHandler getErrorHandler ()

Returns
RenderScript.RSErrorHandler

getMessageHandler

Added in API level 11
RenderScript.RSMessageHandler getMessageHandler ()

Returns
RenderScript.RSMessageHandler

getMinorVersion

Added in API level 23
long getMinorVersion ()

返回可用于标识RS的特定次版本的标识符。

Returns
long The minor RenderScript version number

releaseAllContexts

Added in API level 23
void releaseAllContexts ()

释放所有进程上下文。 这与在create(...)中检索的每个唯一上下文中调用.destroy()相同。 如果没有上下文创建,这个函数什么都不做。 通常情况下,当你的应用程序失去焦点并且不会在一段时间内使用上下文时调用它。 这对使用createMultiContext()创建的上下文没有影响

sendMessage

Added in API level 18
void sendMessage (int id, 
                int[] data)

一旦执行完所有先前的命令,将消息放入消息队列中以发送回消息处理器。

setErrorHandler

Added in API level 11
void setErrorHandler (RenderScript.RSErrorHandler msg)

Parameters
msg RenderScript.RSErrorHandler

setMessageHandler

Added in API level 11
void setMessageHandler (RenderScript.RSMessageHandler msg)

Parameters
msg RenderScript.RSMessageHandler

setPriority

Added in API level 11
void setPriority (RenderScript.Priority p)

更改此上下文的工作线程的优先级。

Parameters
p RenderScript.Priority: New priority to be set.

Protected methods

finalize

Added in API level 11
void finalize ()

当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize方法以处置系统资源或执行其他清理。

的常规协定finalize是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。

Objectfinalize方法Object执行特殊操作; 它只是正常返回。 Object子类可能会覆盖此定义。

Java编程语言不保证哪个线程将为任何给定对象调用finalize方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。

finalize方法被调用的对象,没有进一步采取行动,直到Java虚拟机再次确定不再有通过这个对象可以通过尚未终止的任何线程,包括可能采取的行动进行访问的任何手段通过准备完成的其他对象或类别,此时该对象可能被丢弃。

对于任何给定的对象,Java虚拟机永远不会多次调用 finalize方法。

finalize方法引发的任何异常 finalize导致终止此对象的终止,但会被忽略。

Throws
Throwable

Hooray!