1. 尽可能让对象自身的存亡不要影响到别人, 所以尽可能的使用弱引用, 除非你有特殊情况。
2.对于永远存在的对象, 永远让其持有其他对象的弱引用。 例如 stage.addEventListener( MouseEvent.MOUSE_MOVE, object.moveHandler, false, 0, true );
3. 养成良好的习惯, 事件执行完一定要移除监听( 清除引用 ), 连接执行完一定要关闭连接.............., 自己产生的垃圾,自己清理,不要乱扔果皮和烟头......
4.如果一个对象不会被多次方访问,那么没必要给其分配一个字段引用, 如一些皮肤 , 只要将其添加到显示列表就OK了, 没必要给他个 引用,多一事不如少一事。
5. 局部性的业务逻辑,尽可能不要用诸如 CairGorm 中的 全局事件, 冒泡法就可以解决, 全局性的逻辑再用全局事件, 局部耦合性可以高一点, 但全局一定要耦合小。
参数
weakKeys:Boolean (default = false) — 表示 Dictionary 对象在对象键上使用“弱”引用。如果对某个对象的唯一引用位于指定的 Dictionary 对象中,则键符合垃圾回收的条件,并且在回收对象时会被从表中删除。注意,Dictionary 绝不会从表中删除弱 String 键。特别是 String 键,弱引用绝不会从键表中被删除,并且 Dictionary 将保持对相应值的强引用。
函数回调,相同参数时,第一个 注册回调的人发送请求,其他注册的人等待回调;
这样会导致的如果第一个请求没回来,其他所有的系统都要回调。
(隔一段时间,就要清除请求列表的,或者当长度大于某个值的时候,再次发送)。
dict[df] = 0;
if(idfd[df]) 小心null 和0 的一样的