CN102486724B - 图标访问系统及方法 - Google Patents
图标访问系统及方法 Download PDFInfo
- Publication number
- CN102486724B CN102486724B CN201010568574.0A CN201010568574A CN102486724B CN 102486724 B CN102486724 B CN 102486724B CN 201010568574 A CN201010568574 A CN 201010568574A CN 102486724 B CN102486724 B CN 102486724B
- Authority
- CN
- China
- Prior art keywords
- icon
- caching
- access
- access times
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种图标访问系统及方法,该方法包括步骤:从缓存中查找用户需要访问的图标;当缓存中不存在该图标时,从操作系统的文件系统中读取该图标;当缓存中的存储空间已满时,将缓存中图标访问次数最低的图标淘汰;将从文件系统中读取的图标保存到缓存中;从缓存中访问上述图标并在显示屏上显示该图标。利用本发明可以加快图标的访问速度。
Description
技术领域
本发明涉及一种图标访问系统及方法,尤其涉及一种运用于手持行动电子装置中的图标访问系统及方法。
背景技术
目前,具有可移动特性的手持行动电子装置在越来越广泛的环境中被应用着,这类电子装置为通讯、娱乐以及数据交换提供了极大便利。主要的手持行动电子装置包括手机、个人数字助理(personal digital assistant,PDA)、掌上游戏机及数码相机等。
手持行动电子装置在运行过程中总需要频繁访问大量的图标,通常,图标访问需要经历读取文件、图标译码等过程,耗时较长。由于图标的大小、格式不同,因此耗时也不等,一般图标访问需在几十到几百毫秒之间。如此一来,若用户频繁的访问图标,会降低手持行动电子装置的效率,增加了用户的等待时间。
发明内容
鉴于以上内容,有必要提供一种图标访问系统,通过对图标进行缓存,加快了图标的访问速度。
此外,有必要提供一种图标访问方法,通过对图标进行缓存,加快了图标的访问速度。
一种手持行动电子装置图标访问系统,该图标访问系统包括:查找模块,用于从缓存中查找用户需要访问的图标;判断模块,用于判断缓存中是否存在该图标;读取模块,用于当缓存中不存在该图标时,从操作系统的文件系统中读取该图标;所述判断模块,还用于判断缓存中的存储空间是否已满;所述淘汰模块,用于当缓存中的存储空间已满时,将缓存中图标访问次数最低的图标淘汰;保存模块,用于将从文件系统中读取的图标保存到缓存中;显示模块,用于从缓存中访问上述图标并在显示屏上显示该图标。
一种图标访问方法,该方法包括步骤:从缓存中查找用户需要访问的图标;当缓存中不存在该图标时,从操作系统的文件系统中读取该图标;当缓存中的存储空间已满时,将缓存中图标访问次数最低的图标淘汰;将从文件系统中读取的图标保存到缓存中;从缓存中访问上述图标并在显示屏上显示该图标。
相较于现有技术,所述的图标访问系统及方法,通过对图标进行缓存,加快了图标的访问速度。
附图说明
图1是本发明手持行动电子装置较佳实施例的硬件架构图。
图2是图1中的图标访问系统较佳实施例的功能模块图。
图3是本发明运用于手持行动电子装置中的图标访问方法较佳实施例的流程图。
主要元件符号说明
手持行动电子装置 | 1 |
存储器 | 10 |
CPU | 20 |
缓存 | 30 |
显示屏 | 40 |
图标访问系统 | 100 |
查找模块 | 110 |
判断模块 | 120 |
读取模块 | 130 |
淘汰模块 | 140 |
保存模块 | 150 |
增加模块 | 160 |
显示模块 | 170 |
具体实施方式
参照图1所示,是本发明手持行动电子装置较佳实施例的硬件架构图。该手持行动电子装置1包括存储器10、中央处理器(Central Processing Unit,CPU)20、缓存30及显示屏40。所述存储器10与CPU 20连接,该存储器10中安装有图标访问系统100,该图标访问系统100的功能将在图2和图3中详细描述。所述CPU 20还连接缓存30和显示屏40,该缓存30可以暂时存储用户经常访问的图标。其中,该显示屏40可以为一个触摸屏。
在本较佳实施例中,所述缓存30用于暂时存储图标,由于直接从缓存30中读取图标并将图标显示出来可以不用将图标进行解码,从而加快了图标的访问速度。
其中,缓存30是按链表的方式来组织,其主要的数据结构如下:
typedef struct_img_cache_node_t
{
struct_img_cache_node_t*pNext;//指向下一个缓存30的节点
struct_img_cache_node_t*pPrev;//指向前一个缓存30的节点
IImage *m_pImg;//存储在缓存30中的图标实例
uint32 m_uid;//存储在缓存30中的图标的标示符
uint16 m_uHitCount;//图标的访问次数
}IMG_CACHE_NODE;
上面是缓存30中每个节点的数据结构,存储在缓存30中的图标就是由多个这样的节点相互串联而成的。
其中,pPrev和pNext是用来连接前一个节点和后一个节点,以保证节点间的连续性。
m_uid是图标的唯一标示符,通过比较图标的唯一标示符可找到指定的图标。
m_pImg是保持译码后图标的实例。
m_uHitCount是图标的访问次数,m_uHitCount的数值会随着图标的每一次访问而向上累积直到达到最大值,访问次数可做为淘汰该图标的依据。
此外,缓存30实现了模块化管理,
缓存30实现模块管理所用到的代码为:
struct IRESMGR
{
uint32 m_uCacheSize;//缓存30的总大小
uint32 m_uMaxHitCount;//缓存30中每个图标的最大访问次数
uint32 m_uRefreshRate;//缓存30中的刷新周期
boolean m_bUseCache;//缓存30的开关
IMG_CACHE_HEAD *m_pCache;//指向缓存30的指针
IMG_CACHE_NODE *sectionBord[RMIMG_MAX_HIT];//分层
的标记
};
其中,m_uCacheSize是缓存30的存储空间的总大小,其可作为运行缓存30时维护缓存30的存储空间大小的依据。
m_uMaxHitCount是缓存30中每个图标的最大访问次数。
m_uRefreshRate是缓存30的刷新周期,缓存30中图标的总访问次数到达该m_uRefreshRate的数值后即刷新缓存30。
m_bUseCache是缓存30的开关,通过查询一个标志位的值m_bUseCache来决定是否启用缓存30。
m_pCache是缓存30的地址,通过该地址可访问缓存30。
sectionBord是缓存30分层的标记。本实施例可以按照缓存30中图标访问次数的不同,将缓存30进行分层,该分层具体是按照图标访问次数的上限(m_uMaxHitCount)来进行的。例如,若图标最高访问次数为5,则将缓存30分为5层,第一层用于存储所有图标中访问次数为1的图标,第二层用于存储所述图标中访问次数为2的图标,依此类推。通过分层可以提高访问缓存30中的图标的速度,若需要淘汰图标,只需要将最低层(通常为第1层)中的图标淘汰即可。
每个图标的最高访问次数都设置了一个上限(m_uMaxHitCount)。如果没有限制图标访问的最高次数,会出现某张图标因为某一段时间被大量访问,而出现访问次数较高的问题,这样,即使之后不再访问该图标,该图标也很难被淘汰。
由于较长时间地对缓存30中的图标进行查找、保存及淘汰,会导致缓存30中几乎所有图标的访问次数都趋向于最高访问次数,而最新保存到缓存30中的图标由于访问次数较少而极易被淘汰的情况发生,这种情况将使得缓存30失去作用。将缓存30中每个图标的访问次数定期(例如,当所有的图标的总访问次数达到100次时)清减,如定期减一,即可避免上述情况发生。
参照图2所示,是图1中手持行动电子装置图标访问系统100的功能模块图。所述CPU 20用于执行图标访问系统100所发出的各项指令。该图标访问系统100包括查找模块110、判断模块120、读取模块130、淘汰模块140、保存模块150、增加模块160以及显示模块170。本发明所称的模块是完成特定功能的计算机程序段,比程序更适合于描述软件在计算机中的执行过程,因此,本发明以下对软件描述都以模块描述。
所述查找模块110用于在缓存30中查找用户需要访问的图标。具体而言,查找模块110通过查询一个标志位的值m_bUseCache来启用缓存30,并通过缓存30的地址m_pCache访问缓存30,通过需访问的图标的唯一标示符m_uid来查找该图标。
所述判断模块120用于判断缓存30中是否存在该图标。本实施例中的判断模块120是通过判断缓存30中是否存在该图标的唯一标示符来判断缓存30中是否存在该图标。
当缓存30中存在该图标时,所述增加模块160用于将该图标的访问次数加一。
当缓存30中不存在该图标时,所述读取模块130用于从手持行动电子装置1的操作系统的文件系统中读取该图标。由于从文件系统中读取该图标需要对该图标进行解码,因此,从文件系统中读取图标所花费的时间比直接从缓存30中读取图标要长。
所述判断模块120用于判断缓存30中的存储空间是否已满。
若缓存30中的存储空间已满,则所述淘汰模块140用于将缓存30中访问次数最低的图标淘汰,然后,保存模块150将该从文件系统中读取的图标保存到缓存30中。由于缓存30中的图标是以分层的方式进行保存,图标访问次数越低,则该图标所处的层数越低,也就是说,本实施例中的淘汰模块140会首先淘汰最低层中的图标。若该最低层中有多个图标,例如,有两个以上的图标,则将最低层中访问时间最远的图标淘汰。例如,假设最低层中的图标A和图标B的访问次数都为1,若图标A的访问时间在图标B的访问时间之前,则淘汰图标A。
若缓存30的存储空间未满,则保存模块150用于将从文件系统中读取的图标保存到缓存30中。
所述显示模块170用于从缓存30中访问上述图标并在显示屏40上显示该图标。
此外,所述图标访问系统100还定期对缓存30中所有图标的总访问次数进行检查,若所有图标的总访问次数达到一定的数值,(例如,所有的图标的总访问次数达到100次时),对缓存30中每个图标(访问次数为一次的图标除外)的访问次数减一。例如,假设缓存中有3个图标,图标A、图标B及图标C,若图标A、图标B及图标C的总访问次数到达100次,则将图标A的访问次数减一、将图标B的访问次数减一及将图标C的访问次数减一。
如图3所示,是本发明运用于手持行动电子装置中的图标访问方法较佳实施例的流程图。
步骤S10,查找模块110在缓存30中查找用户需要访问的图标。
步骤S20,判断模块120判断缓存30中是否存在该图标。当判断结果为缓存30中不存在该图标时,进入步骤S30,当判断结果为缓存30中存在该图标时,进入步骤S70。
步骤S30,读取模块130从手持行动电子装置1的操作系统的文件系统中读取该图标。由于从手持行动电子装置1的操作系统的文件系统中读取该图标需要对该图标进行解码,因此,从文件系统中读取图标所花费的时间比直接从缓存30中读取图标要长。
步骤S40,判断模块120判断缓存30中的存储空间是否已满。当判断结果为缓存30中的存储空间已满时,进入步骤S50。当判断结果为缓存30中的存储空间未满时,进入步骤S60。
步骤S50,淘汰模块140将缓存中图标访问次数最低的图标淘汰。由于缓存30中的图标是以分层的方式保存,图标访问次数越低,则所处的层数越低,也就是说,首先淘汰最低层中的图标。若发现最低层中有多个图标,例如,有两个以上的图标,则将最低层中访问时间最远的图标淘汰。例如,假设最低层中的图标A和图标B的访问次数都为1次,都处于第1层,若图标A的访问时间在图标B的访问时间之前,则淘汰图标A。
步骤S60,保存模块150将从文件系统中读取的图标保存到缓存30中。
步骤S80,显示模块170从缓存30中访问上述图标并在显示屏40上显示该图标。
步骤S70,增加模块160将该图标的访问次数加一。具体而言,将图标的访问次数的数值m_uHitCount加一。
此外,该方法还定期对缓存30中所有图标的总访问次数进行检查,若所有图标的总访问次数达到一定的数值,例如,所有的图标的总访问次数达到100次时,需要对缓存30中每个图标(访问次数为一次的图标除外)的访问次数减一。例如,假设缓存中有3个图标:图标A、图标B及图标C,若图标A、图标B及图标C的总访问次数到达100次,则将图标A的访问次数减一、将图标B的访问次数减一及将图标C的访问次数减一。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (6)
1.一种图标访问系统,其特征在于,该图标访问系统包括:
查找模块,用于从缓存中查找用户需要访问的图标;
判断模块,用于判断缓存中是否存在该图标;
读取模块,用于当缓存中不存在该图标时,从操作系统的文件系统中读取该图标;
所述判断模块,还用于判断缓存中的存储空间是否已满;
淘汰模块,用于当缓存中的存储空间已满时,将缓存中图标访问次数最低的图标淘汰;
保存模块,用于将从文件系统中读取的图标保存到缓存中;
显示模块,用于从缓存中访问上述图标并在显示屏上显示该图标;及
所述图标访问系统还对缓存所有图标的总访问次数进行统计,若所有图标的总访问次数达到一定数值时,对缓存中除访问次数为一次的图标外的剩余图标的访问次数减一。
2.如权利要求1所述的图标访问系统,其特征在于,该系统还包括增加模块,用于当缓存中存在该图标时,将该图标的访问次数加一。
3.如权利要求1所述的图标访问系统,其特征在于,当所述图标访问次数最低的图标有多个时,优先淘汰访问时间最远的图标。
4.一种图标访问方法,其特征在于,该方法包括步骤:
从缓存中查找用户需要访问的图标;
当缓存中不存在该图标时,从操作系统的文件系统中读取该图标;
当缓存中的存储空间已满时,将缓存中图标访问次数最低的图标淘汰;
将从文件系统中读取的图标保存到缓存中;
从缓存中访问上述图标并在显示屏上显示该图标;及
对缓存所有图标的总访问次数进行统计,若所有图标的总访问次数达到一定数值时,对缓存中除访问次数为一次的图标外的剩余图标的访问次数减一。
5.如权利要求4所述的图标访问方法,其特征在于,该方法还包括:
当缓存中存在该图标时,将该图标的访问次数加一;及
从缓存中访问该图标并在显示屏上显示该图标。
6.如权利要求4所述的图标访问方法,其特征在于,当所述图标访问次数最低的图标有多个时,优先淘汰访问时间最远的图标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010568574.0A CN102486724B (zh) | 2010-12-01 | 2010-12-01 | 图标访问系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010568574.0A CN102486724B (zh) | 2010-12-01 | 2010-12-01 | 图标访问系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102486724A CN102486724A (zh) | 2012-06-06 |
CN102486724B true CN102486724B (zh) | 2016-09-28 |
Family
ID=46152223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010568574.0A Expired - Fee Related CN102486724B (zh) | 2010-12-01 | 2010-12-01 | 图标访问系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102486724B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107469352B (zh) * | 2017-07-12 | 2021-06-08 | 福建天晴数码有限公司 | 游戏前端的资源缓存方法、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187884A (zh) * | 2007-12-06 | 2008-05-28 | 北京金山软件有限公司 | 资源管理方法和资源管理系统 |
CN101662534A (zh) * | 2008-08-28 | 2010-03-03 | 深圳富泰宏精密工业有限公司 | 手机及其内存共享方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101714120A (zh) * | 2008-10-06 | 2010-05-26 | 深圳富泰宏精密工业有限公司 | 资料存储系统及方法 |
-
2010
- 2010-12-01 CN CN201010568574.0A patent/CN102486724B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101187884A (zh) * | 2007-12-06 | 2008-05-28 | 北京金山软件有限公司 | 资源管理方法和资源管理系统 |
CN101662534A (zh) * | 2008-08-28 | 2010-03-03 | 深圳富泰宏精密工业有限公司 | 手机及其内存共享方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102486724A (zh) | 2012-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2005124559A1 (en) | System and method for maintaining objects in a lookup cache | |
CN102662869B (zh) | 虚拟机中的内存访问方法和装置及查找器 | |
JP2008502965A5 (zh) | ||
US20080209131A1 (en) | Structures, systems and arrangements for cache management | |
EP2159706A1 (en) | Operation processing apparatus and operation processing method | |
US20230376420A1 (en) | Method And Apparatus For a Page-Local Delta-Based Prefetcher | |
CN111552692A (zh) | 一种加减法布谷鸟过滤器 | |
US8195889B2 (en) | Hybrid region CAM for region prefetcher and methods thereof | |
CN101404649B (zh) | 一种基于cache的数据处理系统及其方法 | |
US20130117302A1 (en) | Apparatus and method for searching for index-structured data including memory-based summary vector | |
US9384131B2 (en) | Systems and methods for accessing cache memory | |
JP5322019B2 (ja) | 関連する情報を事前にキャッシュする予測型キャッシュ方法、そのシステム及びそのプログラム | |
WO2022057749A1 (zh) | 内存缺页异常的处理方法、装置、设备及存储介质 | |
CN111831691B (zh) | 一种数据读写方法及装置、电子设备、存储介质 | |
CN114637700A (zh) | 针对目标虚拟地址的地址转换方法、处理器及电子设备 | |
CN102486724B (zh) | 图标访问系统及方法 | |
CN106547751A (zh) | 缓存数据的更新方法及装置 | |
US9129033B1 (en) | Caching efficiency using a metadata cache | |
US9514060B2 (en) | Device, system and method of accessing data stored in a memory | |
CN115495394A (zh) | 数据预取方法和数据预取装置 | |
CN115061955A (zh) | 处理器、电子设备、地址翻译方法以及缓存页表项方法 | |
CN114528229A (zh) | 一种缓存数据访问方法、装置及电子设备 | |
CN112231446A (zh) | 一种安全防护终端数据管理方法、系统及设备和存储介质 | |
TWI506523B (zh) | 圖示訪問系統及方法 | |
US7290085B2 (en) | Method and system for flexible and efficient protocol table implementation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160928 Termination date: 20191201 |
|
CF01 | Termination of patent right due to non-payment of annual fee |