EDT的事件循环

   可日,无法贴图,文字表述下:  

         “进入事件循环,先处理系统事件(如按键,hideNotify, showNotify etc),接着处理需要即时响应的task(setCurrent带来的paint动作),然后处理可以延时处理的task(如paint的一般调用) ,判断是否还有待决事件,否则阻塞等待,是的话则进入下一轮消息循环”        

 

 

/**

     * Implementation of the event dispatch loop content

     */

    public void edtLoopImpl() {

        long currentTime = System.currentTimeMillis();

 

        while (sInputEvents.size() > 0) {

            int[] i = (int[]) sInputEvents.elementAt(0);

            sInputEvents.removeElementAt(0);

            handleEvent(i);

        }

        sEdtGraphics = sScreen.getGraphics();

        sScreen.paintDirtyRegion();

        // check key repeat events

        long t = System.currentTimeMillis();

        if (sKeyRepeatCharged && sNextKeyRepeatEvent <= t) {

            sScreen.getCurrent().keyRepeated(sKeyRepeatValue);

            sNextKeyRepeatEvent = t + sKeyRepeatNextIntervalTime;

        }

        if (sLongPressCharged && sLongPressInterval <= t - sLongKeyPressTime) {

            sLongPressCharged = false;

            sScreen.getCurrent().longKeyPress(sKeyRepeatValue);

        }

        processSerialCalls();

 

    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值