timer.stop后timer.currentCount没有重置,timer.reset后,currentCount重置了。
package game.mananger
{
import flash.events.TimerEvent;
import flash.utils.Dictionary;
import flash.utils.Timer; /**
*提供 一个 1秒间隔不断跑的timer,可以注册几秒钟回调,
* 用于提高性能,全局仅有这一个timer
* @author Administrator
*
*/
public class GTimerManager extends BaseManager
{
private var _timer:Timer;
private var _funAry:Array;
public function GTimerManager()
{
if(!_timer)
{
_timer = new Timer();
_timer.addEventListener(TimerEvent.TIMER,_interval);
_timer.start(); _funAry = [];
}
}
private function _interval(evt:TimerEvent):void
{
var len:int = _funAry.length;
for(var i:int = ;i<len;i++)
{
var info:GFunInfo = _funAry[i];
if(info.isReset)
{
info.temp ++;
if(info.temp % info.delay == ){
if(info.fun!=null)
{
info.fun();
}
}
}else if(_timer.currentCount % info.delay == )
{
if(info.fun!=null)
{
info.fun();
}
}
}
}
/**
*注册函数进去
* @param fun
* @param senconds 几秒间隔
*/
public function add(struct:GFunInfo):void
{
if(_funAry.indexOf(struct)==-)
{
_funAry.push(struct);
if(struct.isReset){
struct.temp = ;
}
}
}
/**
*移除函数
* @param fun
*
*/
public function remove(struct:GFunInfo):void
{
var index:int = _funAry.indexOf(struct);
if(index != -)
{
_funAry.splice(struct,);
}
}
/**
*销毁
*
*/
public function destory():void
{
_funAry.length = ;
_timer.stop();
_timer = null;
}
}
}
package game.mananger
{
public class GFunInfo
{
/**
*
* @param fun 回调函数
* @param delay 间隔秒数
* @isReset isReset 重新add后是否继续上次的计数
*/
public function GFunInfo(fun:Function,delay:int,isReset:Boolean)
{
this.fun = fun;
this.delay = delay;
this.isReset = isReset;
}
public var fun:Function;
public var delay:int;
public var isReset:Boolean;
public var temp:int;
}
}
        testGtimer();

        private function testGtimer():void
{
var g:GTimerManager = new GTimerManager();
g.add(new GFunInfo(testGfun,5,true));
g.add(new GFunInfo(testGfun2,1,false));
}
private function testGfun():void
{
trace("testGfun");
}
private function testGfun2():void
{
trace("testGfun2");
}

flash Timer 性能优化,每几秒间隔一次的更多相关文章

  1. flash性能优化方案整理(最全)

    性能优化的原则 1.避免过早优化:太早优化将使代码难以设计和维护,最好是针对程序的瓶颈进行优化. 2.改进性能有时需要权衡:不能一味注重改进性能,一个项目要考虑各方面的利弊,比如代码的健壮性,结构性, ...

  2. Android应用性能优化(转)

    人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这 ...

  3. 转——Android应用开发性能优化完全分析

    [工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...

  4. android app性能优化大汇总(UI渲染性能优化)

    UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑 ...

  5. Android 应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  6. Android UI性能优化详解

    设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的ap ...

  7. 【转】Android应用开发性能优化完全分析

    http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...

  8. Android应用开发性能优化完全分析

    1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...

  9. hbase性能优化总结

    hbase性能优化总结 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都 ...

随机推荐

  1. 分布式ID方案有哪些以及各自的优势

    1.    背景 在分布式系统中,经常需要对大量的数据.消息.http请求等进行唯一标识.例如:在分布式系统之间http请求需要唯一标识,调用链路分析的时候需要使用这个唯一标识.这个时候数据自增主键已 ...

  2. BZOJ 3527 【ZJOI2014】 力

    题目链接:力 听说这道题是\(FFT\)板子题,于是我就来写了…… 首先可以发现这个式子:\[E_i=\sum_{j<i}\frac{q_j}{(i-j)^2}-\sum_{j>i}\fr ...

  3. 使用向量化的 if:ifelse

    进行分支计算的一个替代方法是 ifelse( ).这个函数接收一个逻辑向量作为判定条件,并且返回一个向量.对于逻辑判定条件内的每一个元素,若是 TRUE,则选择第 2个参数 yes 中所对应的元素:若 ...

  4. 探索解析微服务下的RabbitMQ

    概览 本文主要介绍如何使用RabbitMQ消息代理来实现分布式系统之间的通信,从而促进微服务的松耦合. RabbitMQ,也被称为开源消息代理,它支持多种消息协议,并且可以部署在分布式系统上.它轻量级 ...

  5. 深入理解javascript之typeof和instanceof

    1.https://blog.csdn.net/mevicky/article/details/50353881 (深入理解javascript之typeof和instanceof)

  6. bzoj 1854 构图 并查集

    我们可以把一件装备看成一条边,两个属性看成两个点,那么这就相当于读入了一张图 当读入每一个x,y时,我们找到两个点的祖先节点,fx,fy,我们保证祖先节点在该连通块 中编号(装备属性)最大,用flag ...

  7. 051——VUE中自定义指令:directive

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. 哈理工OJ 1328

    感觉其实可以不水的. //好像是一道特别水的小学数学题.但是我确实看了很久有试了几个样例才懂得.T_T // 先判断是不是素数.如果是素数的话.An-1一定不等于An.否则的话. // 继续找如果有一 ...

  9. 使用file_get_contents提交http post

    以前使用curl获取需要登陆内容的文章,但其实,自5.0开始,使用file_get_contents就可以完成.(前提是开启了allow_url_fopen),下面以一个简单的例子说明一下:1.先看一 ...

  10. 关于protel 99se 汉化后某些菜单消失的解决方法

    本人在使用protel 99se 画PCB时,遇到了好些问题,通过网上查资料基本都解决了. 下面给大家分享 关于protel 99se 汉化后某些菜单消失的解决方法. 其他的许多看不见的菜单也可以自己 ...