BREW精要之事件驱动模型

BREW应用程序的模型是基于一个事件驱动的协作式多任务模型。事件处理机制的核心问题是程序应该只处理需要的事件,对于不需要处理的事件,需要返回给系统处理。应用在加载之后可以通过 HandleEvent()函数接收所有输入的事件,然后会通过返回TRUE(已处理)或FALSE(未处理)指示是否处理事件。AEE层存在一个全局的事件队列,所有的事件都存储在该队列中,如果队列中的事件在分发后处理完毕或者无人处理,该事件将被从事件队列中删除。
       BREW中的事件主要有三类:系统事件,预定义的事件和。系统事件的事件代码范围为0~7,即从EVT_APP_START  EVT_APP_BROWSE_FILE预定义事件的事件代码范围是0x0008-0x4fff,即BREW AEE 层和OEM层预定义或者预留的事件。自定义的事件是指 BREW应用可以自定义自己的事件,自定义事件应该不小于EVT_USER0x5000)。 BREW应用可以发送任何事件给应用自身,或者发给在同一进程中的其他应用。如果发送事件给不同进程的应用(主要是针对BREW 4.X及以上版本),这时需要特殊的应用权限。
BREW环境要求及时地处理事件。简而言之,如果应用执行处理事件HandleEvent()调用后没能在合适的时间返回,AEE可能就会关闭应用以保护设备相应其他请求。 有些操作,比如说从网络套接字中读取数据,也许耗时过长,无法在一次调用事件处理器内完成。这时就采用回调机制,以便在操作完成之后通知该应用。

本文出自 “我相信” 博客,转载请与作者联系!

你可能感兴趣的:(职场,brew,休闲,3G移动增值业务)