首页> 中国专利> 一种基于即时通信的系统托盘处理方法和装置

一种基于即时通信的系统托盘处理方法和装置

摘要

本发明公开了一种基于即时通信的系统托盘处理方法和装置,在系统启动时即启动定时器,在未收到好友消息时,总是以两个相同的系统图片进行切换,显示出静止的系统托盘图标,当收到好友消息时,以好友头像和一个透明图片分别替换切换中的两张系统图片,则转为了好友头像和透明的切换,系统托盘显示为好友头像的闪动效果,当用户点击托盘后,再替换回原来的系统图片,则恢复为静止的系统托盘图标,在整个过程中定时器始终处于开启状态,直到系统退出时才关闭。本发明有效地解决了由于频繁开关定时器而导致的内存消耗大、逻辑代码复杂的问题,提高了系统运行的可靠性。

著录项

  • 公开/公告号CN103001852A

    专利类型发明专利

  • 公开/公告日2013-03-27

    原文格式PDF

  • 申请/专利权人 五八同城信息技术有限公司;

    申请/专利号CN201210310983.X

  • 发明设计人 李晓东;王乔斌;李金城;

    申请日2012-08-29

  • 分类号

  • 代理机构工业和信息化部电子专利中心;

  • 代理人梁军

  • 地址 300457 天津市滨海新区塘沽经济技术开发区第一大街79号泰达MSD-C区-C3座2801房间

  • 入库时间 2024-02-19 18:43:12

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-10-07

    授权

    授权

  • 2013-04-24

    实质审查的生效 IPC(主分类):H04L12/58 申请日:20120829

    实质审查的生效

  • 2013-03-27

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,特别是涉及一种基于即时通信的系统托盘处理 方法和装置。

背景技术

即时通信(Instant Message,IM)是一种进行实时通信的消息服务,即时通 信工具一般运行于接入互联网的计算机、手机等终端,能够即时发送和接收互 联网消息等业务,人们通过消息发布窗口接收或发送消息,完成与其他用户之 间的通讯,如聊天、传送文件、进行语音和视频通信等。

常见的即时通信工具在用户终端显示有系统托盘,当即时通信应用程序开 启后,在终端显示屏下方的系统操作栏中显示有一个可供用户查看、点击的小 图片,这个小图片就是系统托盘。无消息时,系统托盘通常是系统默认的一张 图片;当好友发来消息时,托盘图片不再是系统默认的图片,而是呈现为好友 的头像图片,并且持续闪动,以提示用户对消息进行处理。

以往对于这种系统托盘的处理采用以下方式:有好友发来消息时启动定时 器,将托盘处的系统默认图片更换为好友的头像图片,定时器触发间隔例如为 300ms,则第一次300ms触发时将托盘的头像图片切换为一张透明图片,表现 为头像图片消失,定时器第二次300ms再次触发时,将透明图片切换回头像图 片,通过定时器的连续触发,实现了托盘处好友头像图片持续闪动的效果;在 用户点击托盘后,将头像图片更换回之前的系统默认图片,并关闭定时器,则 托盘图片恢复静止;当再次收到好友消息时,再次启动定时器,以同样的方式 实现好友头像图片闪动,处理消息后恢复为系统默认图片,同时再次关闭定时 器,如此往复。也就是说,在现有的对系统托盘的处理中,需要通过反复地开 启和关闭定时器来实现托盘的提示功能。定时器(也称计数器)是应用程序中 的常见计时工具,通过周期性地触发来执行某些动作,触发周期可按需要设定。 以现有方式处理托盘图片,在处理一条消息的过程中,需经历开启定时器、切 换图片、关闭定时器的步骤,对于多条消息,必须多次地开启、关闭定时器才 能维持系统托盘正常显示。但是,频繁地开关定时器将导致很多问题,首先, 由于频繁开启-关闭定时器对内存的消耗较大,长时间操作会造成内存泄露, 将增加程序崩溃的风险。其次,从程序代码角度来看,为了应对系统在各种情 况下对定时器的开启-关闭时机的准确控制,将导致程序代码冗长、复杂,增 大了出错几率,不利于系统维护。

发明内容

本发明要解决的技术问题是提供一种基于即时通信的托盘图片处理方法 和装置,用以解决现有技术对托盘图片处理中必须频繁开关定时器的问题。

为解决上述技术问题,一方面,本发明提供一种基于即时通信的托盘图片 处理方法,包括系统启动时开启定时器;以定时器的不间断触发维持两张图片 的持续切换,以显示所述系统托盘;系统退出时关闭所述定时器。

进一步,在系统未收到消息时,所述两张图片为完全相同的两张默认图片; 收到消息时,同时以一张所述消息的代表图片和一张透明图片分别替换正在切 换的所述两张默认图片,用户查看消息后,再同时以所述两张默认图片替换正 在切换的消息代表图片和所述透明图片。、

进一步,在系统运行异常时,同时以完全相同的两张系统运行异常代表图 片替换正在切换的所述两张图片,系统恢复后,再同时以所述两张图片替换正 在切换的所述两张系统运行异常代表图片。

进一步,收到消息或系统恢复后,检测系统消息队列,如果消息队列中有 多条消息,以所述消息队列中的第一消息代表图片和一张透明图片分别替换正 在切换的两张图片,用户查看所述第一消息后,以消息队列中的第二消息代表 图片替换所述第一消息代表图片,进行持续切换;以此类推,直至所述多条消 息均经查看之后,以所述两张默认图片替换正在切换的两张图片。

进一步,在系统初始化时,将所述默认图片、透明图片、消息代表图片和 系统运行异常代表图片保存至本地。

另一方面,本发明还提供一种基于即时通信的托盘图片处理装置,包括: 定时器处理模块:用于在系统启动时开启定时器,并且在系统退出时关闭所述 定时器;以及图片切换处理模块,用于以定时器的不间断触发维持两张图片的 持续切换,以显示所述系统托盘。

本发明有益效果:本发明采用在定时器始终保持开启的情况下不间断的切 换两张图片,通过对两张图片的替换实现系统托盘的显示。采用本发明的技术 方案,由于不需要频繁开关定时器,因而避免了由此引发的闪动延时问题和内 存泄露问题;由于不需要考虑定时器的启停与收到消息之间的逻辑处理,仅需 考虑图片替换过程的处理,因而简化了程序代码复杂程度;消息较多时有利于 对消息队列的维护,可避免系统托盘闪动队列错误、不闪动、点击无效等问题, 提高了消息图片闪动的准确性;并且在网络抖动或断线重连后通过图片替换仍 可正常显示。此外,利用初始化时图片预加载缓存至本地的方法,可避免图片 远程下载导致闪动效果延时的情况。采用本发明的技术方案可大幅提升用户体 验,提升系统稳定性、可靠性。

附图说明

图1是本发明实施例中基于即时通信的系统托盘处理方法的流程图。

图2是本发明实施例中系统收到消息时对系统托盘的处理流程示意图。

图3是本发明实施例中消息代表图片缓存机制示意图。

图4是本发明实施例中遇到网络异常时的处理策略。

图5是本发明实施例中基于即时通信的系统托盘处理装置示意图。

具体实施方式

为了解决现有技术对托盘图片处理中由于必须频繁开关定时器而导致的 各种问题,本发明提供了一种基于即时通信的托盘图片处理方法和装置,以下 结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述 的具体实施例仅仅用以解释本发明,并不限定本发明。

本发明提供一种基于即时通信的托盘图片处理方法,图1所示为流程图, 该方法利用两张图片的持续切换进行系统托盘显示,具体包括以下步骤:

步骤S101,在系统启动时开启定时器;

步骤S102,以定时器的不间断触发维持两张图片的持续切换,以显示系统 托盘;

步骤S103,系统退出时关闭定时器。

利用上述方案,仅在系统启动时开启定时器,用户操作期间不再关闭定时 器,直到系统退出时才关闭定时器,且在用户操作期间,无论系统处于何种状 态(如在线的默认状态时,收到好友消息时、离线时等等),始终保持有两张 图片在进行切换,而这种切换是在定时器的控制下进行的,因此本发明做到了 在系统运行期间不需要通过关闭定时器来停止图片切换,也不需要通过二次开 启定时器来启动图片切换。可见,相对于以往的只要有消息便开启定时器,消 息处理后即关闭定时器的处理方式,本发明使得系统一旦启动后就不需要再考 虑定时器开启和关闭时机,就能完成对系统托盘进行显示,至于系统托盘是显 示为“静止”效果、闪动效果、离线效果或其它效果,都可通过设定合适的图 片进行替换来实现,直至程序退出时系统托盘关闭,定时器亦关闭。

在本发明实施例中,通过对所述两张图片的替换实现对系统不同状态的系 统托盘状态显示。图2所示为系统收到消息时对系统托盘的处理流程示意图, 在系统默认状态下,也就是没有接收到用户消息时,托盘处显示默认图片(如 一张彩色的笑脸图片),这时采用的方案是,以两张完全相同默认图片按定时 器的触发周期交替切换显示,两张默认图片交替切换显示时,用户看到的仅是 “一张静止的”默认图片;当收到好友消息时,以代表好友的消息图片替换两 张默认图片中的一张,同时,用一张透明图片替换另一张默认图片;则代表好 友的消息图片和透明图片开始按预定时间间隔进行交替切换显示,这时用户在 系统托盘处看到的是代表好友的消息图片;用户点击托盘后,再同时以原先的 两张默认图片替换代表好友的消息图片和透明图片,则又以两张默认图片进行 切换显示,用户看到托盘处恢复为“一张静止的”默认图片,一次处理过程结 束。对待后续消息做同样的处理,可在系统托盘处提示系统的默认状态和有消 息状态。对于同时收到多个好友消息时,提示顺序按照常规方式处理,例如按 照好友发送消息的时间顺序将好友头像图片缓存在系统的消息队列中,对其中 每一个消息均采用上述方式处理,唯一区别是用户点击托盘后,仅以消息队列 中下一个好友的消息图片替换当前的好友消息图片,以继续闪动,直至消息队 列中的消息全部处理完毕,再以两张默认图片进行替换,以指示默认状态。

上述过程中,所述的消息图片可以是发来消息的好友头像图片、用户所在 群组定义的群组代表图片、系统广播消息图片等代表消息来源的图片。对于这 些消息图片,可在系统初始化时就全部下载缓存至本地,使用时直接从本地获 取,以进行图片替换的步骤。如图3所示,收到好友消息时查询本地是否保存 有该好友的消息图片(例如头像图片),如果有,则直接提取,进行图片替换 的步骤;如果没有,则远程下载至本地,再进行图片替换的步骤。关于消息代 表图片的下载和获取,现有技术多采用需要显示时通过HTTP协议或其他协议 远程下载的方式。本发明实施例在系统启动时即全部下载保存至本地,缩短了 获取图片的延时,能够配合后续图片替换及时完成,使闪动无延迟,从而增强 用户体验。

图4所示为本发明实施例中遇到系统运行异常时的处理策略。导致系统异 常运行的原因有多种,最常见的是网络异常导致的系统掉线,而系统本身的不 响应或响应过慢也可导致系统短暂离线,以下为系统运行异常时对系统托盘的 具体处理步骤:

步骤S201:将当前正在的切换的两张图片替换为两张完全相同的灰色图片, 以在系统托盘处提示离线状态;

步骤S202:系统恢复后,检测系统内部的消息队列;消息队列存在,执行 步骤S203:消息队列不存在,执行步骤S204;

步骤S203:消息队列存在表明系统运行异常期间曾有好友发送过消息,用 消息队列中的一个好友的头像图片和一张透明图片分别替换两张灰色图片,两 者切换,实现托盘处好友头像图片闪动;

步骤S204:系统未收到任何消息,只需将两张灰色图片替换为系统的默认 图片,指示默认状态。

上述实施例中的灰色图标也可设置为任何能够代表系统运行异常的图片, 例如专用的掉线图片或离线图片等,至于步骤S203中选取消息队列中好友头 像图片的顺序,依常规的消息处理顺序即可。

本发明实施例中的两张图片持续切换是通过定时器触发实现的,在系统启 动之后即开启定时器,按照预先设定好的触发周期,使两张图片以这个触发周 期为时间间隔开始切换,且在对托盘图片的处理过程中——无论是将默认图片 替换为消息代表图片或透明图片,还是将其中之一或两张替换为其它图片—— 一旦程序启动就不再关闭定时器,确保定时器不间断地触发以控制当前两张图 片不间断地切换,以确保系统托盘提示用户系统的当前状态。在使用中通过设 定合适的图片进行替换来实现系统托盘显示为“静止”效果、闪动效果、离线 效果或其它效果。

为了解决现有技术中频繁开关定时器的缺陷,本发明还提供了一种基于即 时通信的系统托盘处理装置,如图5所示,包括定时器处理模块301,用于在 系统启动时开启定时器,并且在系统退出时关闭所述定时器;以及图片切换处 理模块302,用于以定时器的不间断触发维持两张图片的持续切换,以显示所 述系统托盘。

利用本发明,系统托盘提示系统状态时,只需要在各种状态下替换相应的 图片,而不需要考虑定时器的开启、关闭,降低了内存消耗,有效减化了代码 复杂程度,确保系统托盘正确显示。

尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将 意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上 述实施例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号