Actor 最佳实践

即使对于经验丰富的工程师来说,前端和 Actor 设计的一些方面也可能难以理解。以下是在添加新的 Actor 和前端时应牢记的一些最佳实践。

Actor 应自行清理,不要等待客户端

过去,一些 Actor 会等待客户端在工具箱关闭时发送“你已完成”消息来关闭 Actor。这乍一看似乎合理,但请记住,连接随时可能断开。客户端可能无法发送此消息。

更好的选择是让 Actor 在收到连接断开的通知时自行完成所有清理工作。这样,客户端就不需要发送任何清理消息,而且无论发生什么情况,我们都知道 Actor 将处于良好状态。

Actor 销毁

确保 Actor 的销毁确实销毁了它应该销毁的所有内容。以下是一个来自动画 Actor 的示例

destroy: function() {
  Actor.prototype.destroy.call(this);
  this.targetActor.off("will-navigate", this.onWillNavigate);
  this.targetActor.off("navigate", this.onNavigate);

  this.stopAnimationPlayerUpdates();
  this.targetActor = this.observer = this.actors = null;
},

子 Actor

对于 protocol.js Actor,如果你的 Actor 创建子 Actor 来实现更多功能,在大多数情况下你应该调用

this.manage(child);

在父 Actor 构造子 Actor 后,以便在父 Actor 销毁时销毁子 Actor。