flash Timer 性能优化,每几秒间隔一次
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 性能优化,每几秒间隔一次的更多相关文章
- flash性能优化方案整理(最全)
性能优化的原则 1.避免过早优化:太早优化将使代码难以设计和维护,最好是针对程序的瓶颈进行优化. 2.改进性能有时需要权衡:不能一味注重改进性能,一个项目要考虑各方面的利弊,比如代码的健壮性,结构性, ...
- Android应用性能优化(转)
人类大脑与眼睛对一个画面的连贯性感知其实是有一个界限的,譬如我们看电影会觉得画面很自然连贯(帧率为24fps),用手机当然也需要感知屏幕操作的连贯性(尤其是动画过度),所以Android索性就把达到这 ...
- 转——Android应用开发性能优化完全分析
[工匠若水 http://blog.csdn.net/yanbober 转载请注明出处.] 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉 ...
- android app性能优化大汇总(UI渲染性能优化)
UI性能测试 性能优化都需要有一个目标,UI的性能优化也是一样.你可能会觉得“我的app加载很快”很重要,但我们还需要了解终端用户的期望,是否可以去量化这些期望呢?我们可以从人机交互心理学的角度来考虑 ...
- Android 应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- Android UI性能优化详解
设计师,开发人员,需求研究和测试都会影响到一个app最后的UI展示,所有人都很乐于去建议app应该怎么去展示UI.UI也是app和用户打交道的部分,直接对用户形成品牌意识,需要仔细的设计.无论你的ap ...
- 【转】Android应用开发性能优化完全分析
http://blog.csdn.net/yanbober/article/details/48394201 1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关 ...
- Android应用开发性能优化完全分析
1 背景 其实有点不想写这篇文章的,但是又想写,有些矛盾.不想写的原因是随便上网一搜一堆关于性能的建议,感觉大家你一总结.我一总结的都说到了很多优化注意事项,但是看过这些文章后大多数存在一个问题就是只 ...
- hbase性能优化总结
hbase性能优化总结 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都 ...
随机推荐
- cocos2dx 3.x 区域画图
.h文件 bool onTouchBegan(cocos2d::Touch *pTouch, cocos2d::Event *pEvent); void onTouchMoved(cocos2d::T ...
- 20155201 2016-2017-2《Java程序设计》课程总结
20155201 2016-2017-2<Java程序设计>课程总结 目录 一.每周作业链接汇总 二.实验报告链接汇总 三.代码托管链接 四.课堂项目实践 五.课程收获与不足 六.问卷调查 ...
- 20145311 《Java程序设计》第十周学习总结
20145311 <Java程序设计>第十周学习总结 教材学习内容总结 网络编程 ·网络编程就是在两个或两个以上的设备(例如计算机)之间传输数据·程序员所作的事情就是把数据发送到指定的位置 ...
- 解决方案--duilib中edit获得鼠标焦点后右边框被覆盖
用duilib做了一个登录框,用户名的输入使用的是edit控件. XML中是这样写的: <Edit name="subdomain_edit" tipvalue=" ...
- VC++使用FindFirstFile,FindNextFile遍历一个文件夹
转载:http://www.cnblogs.com/chenkunyun/archive/2012/03/24/2415727.html 方法一. //遍历文件夹函数 void TraverseFol ...
- Linux服务器使用tar加密压缩文件
使用tar命令进行加密压缩时需要和OpenSSL进行结合 加密压缩命令如下: tar -zcf - filename |openssl des3 -salt -k passwd | dd of=fil ...
- 简单线性dp
小zc现在有三个字符串,他想知道前两个字符串能不能生成第三个字符串,生成规则如下:第一个串的每个字符都可以往第二个串的任意位置插入(包括首尾位置),但必须保证来源于第一个串中的字符在生成后的串中的相对 ...
- 用PHP开发命令行工具
介绍 用过laravel开发过项目的都应该用过artisan,通过artisan我们可以在命令行中创建控制器类,Eloquent类等,今天我们将通过php来开发命令行工具 开发环境与工具 使用vagr ...
- shell 判断字符串长度是否为0
test.sh #!/bin/bash echo "enter the string:" read filename if test -z $filename ; then ech ...
- 【Python】实现对大文件的增量读取
背景 前段时间在做一个算法测试,需要对源于日志的数据进行分析才能获取到结果:日志文件较大,所以想要获取数据的变化曲线,增量读取是最好的方式. 网上有很多人的技术博客都是写的用for循环readline ...