The invention relates to a cache optimization method for multi-touch control of embedded devices, which carries out cache management for contact information to ensure that memory allocation and release are not frequently applied for in normal scenarios when contact information is used, thus improving efficiency; meanwhile, contact information is reported by using the queue of contacts to be processed and when UI line is used. When the contact information processing fails to catch up with the report of the contact information, the newly reported contact information is merged to remove the contact information to ensure the contact queue. And the message queue will not explode, avoiding the accumulation of contacts and causing the lag effect of touch screen.
【技术实现步骤摘要】
一种嵌入式设备多点触控的缓存优化方法
本专利技术涉及多点触控
,具体涉及一种嵌入式设备多点触控的缓存优化方法。
技术介绍
多点触控,即多点触摸技术,指的是允许用户同时通过多个手指来控制图形界面的一种技术,比较常见的应用产品如:智能手机(iPhone、Android)、iPad等。随着智能手机的普及,越来越多的智能设备也加入了触屏的大军。目前比较多的产品直接搭载Android系统来满足多点触控的需求,另外也有使用稳定的UI库来实现多点触控功能(如:Qt库)。Android系统提供了完整的触屏解决方案,但是Android系统的空间和内存占用比较大,对于一些硬件有限制的嵌入式设备来说还是不合适。在嵌入式设备的开发中,通常会使用自己开发的或第三方的UI库来构建GUI进程。而成熟的UI库都会有独立的窗口消息循环机制,来实现对用户输入的响应和界面的显示等。但是却没有提供比较完善的触点缓存机制,而是单纯依靠消息队列来缓存触点信息。目前嵌入式设备上依靠UI库的消息队列来缓存多点触控信息和传递触控事件的话,存在以下问题:首先,UI库正常会有一个主线程来处理界面的业务逻辑,在嵌入式设备硬件受限的情况下,主线程业务处理的时间间隔是不固定的,业务处理的时间间隔可能会超过触控点的上报时间间隔。如果在主线程中读取并处理触控点,会造成触控点被滞留在驱动的缓存中,而且驱动的缓存大小也是有限的,触控点如果不及时取走的话,会被覆盖掉,从而造成触控点的丢失。其次,正常情况下可以创建一个新的线程来读取驱动上报的触控点数据,然后将触控点数据发送到UI库的消息队列中处理。这种情况在性能好的设备 ...
【技术保护点】
1.一种嵌入式设备多点触控的缓存优化方法,其特征在于:所述缓存优化方法具体包括以下步骤:步骤1、采用触点处理线程读取触点信息;步骤1.1、读取底层触点信息,并将其加工为上层触点信息;步骤1.2、从触点对象缓存单元中分配触点对象给触点信息,并将该触点信息设置到相应的触点对象上;步骤1.3、判断当前触点信息与上一个触点信息的触点动作类型是否一样,若触点动作类型一样,则进行触点信息合并,将当前触点信息更新到待处理触点队列中,同时将触点对象回收到触点对象缓存单元中;若触点动作类型不一样,则将触点对象增加至待处理触点队列中,同时发送消息通知UI线程处理触点对象;步骤2、采用UI线程处理触点对象;步骤2.1、UI线程根据触点处理线程发送的消息,申请获取待处理触点对象,当UI线程成功获取触点对象后,将该触点对象从待处理触点队列移动至待回收触点队列;步骤2.2、UI线程通过触点消息处理系统对触点对象进行处理,处理完成后,向触点处理线程发送回收触点消息;步骤3、触点处理线程接收到UI线程发送的回收触点消息后,将已经处理完成的触点对象从待回收触点队列回收到触点缓存单元中。
【技术特征摘要】
1.一种嵌入式设备多点触控的缓存优化方法,其特征在于:所述缓存优化方法具体包括以下步骤:步骤1、采用触点处理线程读取触点信息;步骤1.1、读取底层触点信息,并将其加工为上层触点信息;步骤1.2、从触点对象缓存单元中分配触点对象给触点信息,并将该触点信息设置到相应的触点对象上;步骤1.3、判断当前触点信息与上一个触点信息的触点动作类型是否一样,若触点动作类型一样,则进行触点信息合并,将当前触点信息更新到待处理触点队列中,同时将触点对象回收到触点对象缓存单元中;若触点动作类型不一样...
【专利技术属性】
技术研发人员:陈智松,毕永建,叶永建,
申请(专利权)人:厦门亿联网络技术股份有限公司,
类型:发明
国别省市:福建,35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。