2016-07-30 140 views
0

我已阅读relevant post in the Flambe guide,但无法看到clone()函数的任何用法。各种事件类(如PointerEvent class)的API均包含这样一个字条:在Flambe中使用键盘和鼠标事件的最佳做法是什么?

注:由于性能原因,PointerEvent实例由 煮餐重用。使用clone()保留对事件的引用。

我有3个问题:

  1. 有没有可能是一个PointerEvent对象将改变,即使我的代码仍然工作呢?
  2. 什么时候应该使用clone()函数?
  3. 在Flambe处理事件时,我还需要了解其他哪些最佳做法?

回答

1
  1. 应该在同一个框架一样,但我不知道这是一定的。我使用规则,如果您将它传递给不同的实例或稍后想要重用它,请克隆它。
  2. 当你想在下一帧存储事件。我个人主要是将viewX/viewY值复制到一个自定义点(例如,如果你想自己检测一个滑动),那么不需要完整的事件被克隆,但是我的偏好。
  3. Always dispose the events。他们返回SignalConnection。将其设置为私有成员,并将其置于dispose函数中,如果使用它,则将其注册为Disposer。这可以避免内存泄漏和不需要的行为。
相关问题