UnitySendMessage是同步还是自动复制其参数?

时间:2014-02-02 04:44:54

标签: ios unity3d

Unity4.3主题。

official document写成:

  • Unity iOS通过UnitySendMessage支持有限的本机到托管回调功能:

      

    UnitySendMessage(“GameObjectName1”,“MethodName1”,“要发送的消息”);

  • 已知限制:

      

    2:对UnitySendMessage的调用是异步的,并且有一帧的延迟。

  • 操作系统提示

      

    从本机方法返回的字符串值应该是UTF-8编码并在堆上分配。对于像这样的字符串,Mono编组调用是免费的。

我很困惑。

它需要在堆上分配参数字符串,但第一个示例使用非堆字符串并且它在实际中工作。

而且,使用以下代码,单位接收器将获得"abc"

// native code, ran in sub thread
char* sz = (char*)malloc(4);
strcpy(sz, "abc");
UnitySendMessage("GameObjectName1", "MethodName1", sz);
strcpy(sz, "xyz");

同步消息是什么?
或者它是否在内部自动复制其参数(并且从不释放它们)?

0 个答案:

没有答案