Most visited

Recently visited

RenderScript

public class RenderScript
extends Object

java.lang.Object
   ↳ android.support.v8.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_NONE

Public methods

void contextDump()

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

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

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

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

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

static RenderScript create(Context ctx)

创建一个RenderScript上下文。

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

调用create(ctx,ct,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脚本执行)以完成。

static void forceCompat()

强制使用支持lib运行库。

final Context getApplicationContext()

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

RenderScript.RSErrorHandler getErrorHandler()
RenderScript.RSMessageHandler getMessageHandler()
static void releaseAllContexts()

释放所有进程上下文。

void sendMessage(int id, int[] data)

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

static void setBlackList(String blackList)

将Models的blackList设置为仅使用支持lib运行时。

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_NONE

int CREATE_FLAG_NONE

常量值:0(0x00000000)

Public methods

contextDump

void contextDump ()

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

create

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

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

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

create

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

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

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

RenderScript create (Context ctx)

创建一个RenderScript上下文。 有关详细信息,请参阅@create的文档

Parameters
ctx Context: The context.
Returns
RenderScript RenderScript

create

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

createMultiContext

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

void destroy ()

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

finish

void finish ()

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

forceCompat

void forceCompat ()

强制使用支持lib运行库。 应在上下文创建之前使用。

getApplicationContext

Context getApplicationContext ()

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

Returns
Context The application context.

getErrorHandler

RenderScript.RSErrorHandler getErrorHandler ()

Returns
RenderScript.RSErrorHandler

getMessageHandler

RenderScript.RSMessageHandler getMessageHandler ()

Returns
RenderScript.RSMessageHandler

releaseAllContexts

void releaseAllContexts ()

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

sendMessage

void sendMessage (int id, 
                int[] data)

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

setBlackList

void setBlackList (String blackList)

将Models的blackList设置为仅使用支持lib运行时。 应在上下文创建之前使用。

Parameters
blackList String: User provided black list string. Format: "(MANUFACTURER1:PRODUCT1:MODEL1), (MANUFACTURER2:PRODUCT2:MODEL2)..." e.g. : To Blacklist Nexus 7(2013) and Nexus 5. mBlackList = "(asus:razor:Nexus 7), (LGE:hammerhead:Nexus 5)";

setErrorHandler

void setErrorHandler (RenderScript.RSErrorHandler msg)

Parameters
msg RenderScript.RSErrorHandler

setMessageHandler

void setMessageHandler (RenderScript.RSMessageHandler msg)

Parameters
msg RenderScript.RSMessageHandler

setPriority

void setPriority (RenderScript.Priority p)

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

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

Protected methods

finalize

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!