public class RenderScript
extends Object
java.lang.Object | |
↳ | android.renderscript.RenderScript |
此类提供对RenderScript上下文的访问,RenderScript上下文控制RenderScript初始化,资源管理和拆卸。 在创建任何其他RS对象之前,必须创建RenderScript类的一个实例。
有关创建使用RenderScript的应用程序的更多信息,请阅读 RenderScript开发人员指南。
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
|
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 |
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 |
RenderScript create (Context ctx)
调用create(ctx,ContextType.NORMAL,CREATE_FLAG_NONE)有关详细信息,请参阅@create的文档
Parameters | |
---|---|
ctx |
Context : The context. |
Returns | |
---|---|
RenderScript |
RenderScript |
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 |
void destroy ()
销毁这个RenderScript上下文。 一旦调用此函数,使用此上下文或属于此上下文的任何对象都是非法的。 API 23+,如果使用create()创建上下文,则此函数是NOP。 请使用releaseAllContexts()清除使用create函数创建的上下文。
Context getApplicationContext ()
获取与RenderScript上下文关联的应用程序上下文。
Returns | |
---|---|
Context |
The application context. |
RenderScript.RSErrorHandler getErrorHandler ()
Returns | |
---|---|
RenderScript.RSErrorHandler |
RenderScript.RSMessageHandler getMessageHandler ()
Returns | |
---|---|
RenderScript.RSMessageHandler |
long getMinorVersion ()
返回可用于标识RS的特定次版本的标识符。
Returns | |
---|---|
long |
The minor RenderScript version number |
void releaseAllContexts ()
释放所有进程上下文。 这与在create(...)中检索的每个唯一上下文中调用.destroy()相同。 如果没有上下文创建,这个函数什么都不做。 通常情况下,当你的应用程序失去焦点并且不会在一段时间内使用上下文时调用它。 这对使用createMultiContext()创建的上下文没有影响
void sendMessage (int id, int[] data)
一旦执行完所有先前的命令,将消息放入消息队列中以发送回消息处理器。
void setErrorHandler (RenderScript.RSErrorHandler msg)
Parameters | |
---|---|
msg |
RenderScript.RSErrorHandler
|
void setMessageHandler (RenderScript.RSMessageHandler msg)
Parameters | |
---|---|
msg |
RenderScript.RSMessageHandler
|
void setPriority (RenderScript.Priority p)
更改此上下文的工作线程的优先级。
Parameters | |
---|---|
p |
RenderScript.Priority : New priority to be set. |
void finalize ()
当垃圾收集确定没有更多对该对象的引用时,由对象上的垃圾回收器调用。 子类会覆盖finalize
方法以处置系统资源或执行其他清理。
的常规协定finalize
是,它被调用,如果当在Java TM虚拟机已确定不再有由该目的可以通过还没有死亡,除了作为一个动作的结果的任何线程访问的任何手段取决于某些其他可以完成的对象或类别的最终定稿。 finalize
方法可以采取任何行动,包括使该对象再次可用于其他线程; 然而, finalize
的通常目的是在对象被不可撤销地丢弃之前执行清理操作。 例如,表示输入/输出连接的对象的finalize方法可能会执行显式I / O事务,以在永久丢弃该对象之前中断连接。
类Object
的finalize
方法Object
执行特殊操作; 它只是正常返回。 Object
子类可能会覆盖此定义。
Java编程语言不保证哪个线程将为任何给定对象调用finalize
方法。 但是,保证调用finalize的线程在调用finalize时不会保留任何用户可见的同步锁。 如果finalize方法引发未捕获的异常,则忽略该异常,并终止该对象的终止。
后 finalize
方法被调用的对象,没有进一步采取行动,直到Java虚拟机再次确定不再有通过这个对象可以通过尚未终止的任何线程,包括可能采取的行动进行访问的任何手段通过准备完成的其他对象或类别,此时该对象可能被丢弃。
对于任何给定的对象,Java虚拟机永远不会多次调用 finalize
方法。
finalize
方法引发的任何异常 finalize
导致终止此对象的终止,但会被忽略。
Throws | |
---|---|
Throwable |