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。