CN105550246B - Android平台下加载网络图片的系统及方法 - Google Patents
Android平台下加载网络图片的系统及方法 Download PDFInfo
- Publication number
- CN105550246B CN105550246B CN201510898216.9A CN201510898216A CN105550246B CN 105550246 B CN105550246 B CN 105550246B CN 201510898216 A CN201510898216 A CN 201510898216A CN 105550246 B CN105550246 B CN 105550246B
- Authority
- CN
- China
- Prior art keywords
- information
- module
- network
- management module
- address
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种Android平台下加载网络图片的系统及方法,包括网络模块、内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块和显示模块,所述络模块分别与内存缓存管理模块、显示模块电通信连接,内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块、显示模块依次电通信连接。本发明利用了内存缓存和磁盘缓存来高效的显示图片数据,并且可以轻松流畅的显示一堆图片数据;不仅将加载的图片缓存到内存中,而且还将加载的图片缓存到设备的内置存储器中,这样可以有效的减少重复加载相同图片所带来的耗时问题。
Description
技术领域
本发明涉及基于Android平台下的应用开发程序领域,尤其涉及一种Android平台下加载网络图片的系统及方法。
背景技术
传统的加载图片的方式是采用BitmapFactory所提供的多个解析方法去解析数据流来将图片显示出来,比如SD卡中的图片可以使用decodeFile方法,网络上的图片可以使用decodeStream方法,资源文件中的图片可以使用decodeResource方法。这些方法会尝试为已经构建的bitmap分配内存,这时就会很容易出现内存溢出,因此每个方法会提供一个BitmapFactory.Options参数,将这个参数的inJustDecodeBounds属性设置为true就可以让解析方法禁止为bitmap分配内存。在小尺寸的控件上面显示高分辨率的图片的时候可以对图片资源进行压缩来减少内存的开销。传统加载图片方式的主要算法原理是把最近使用的对象用强引用存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前从内存中移除。然而,如果内存中的图片被移除,那么又要从网络上重新加载一次图片,这显然是耗时的。
发明内容
针对现有技术存在的不足之处,为了节约网络资源并且减少对图片的加载速度,本发明的目的在于提供一种Android平台下加载网络图片的系统及方法,主要是结合内存缓存与磁盘缓存来加载任意数量的网络图片资源,在网络状况不好的情况下,可以很轻松的就显示出已经在本地缓存了的图片数据,进一步提高Android在网络环境不稳定的情况下也能高效显示图片的一种解决方法。
本发明的目的通过下述技术方案实现:
一种Android平台下加载网络图片的系统,包括网络模块、内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块和显示模块,所述络模块分别与内存缓存管理模块、显示模块电通信连接,内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块、显示模块依次电通信连接;所述网络模块用于通过Android平台访问网络地址,所述内存缓存管理模块用于通过内存缓存方式存储网络模块访问加载得到的网络图片、网址信息、xml文件信息、URL地址信息,所述xml文件配置模块用于对网络图片、网址信息、xml文件信息、URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输给磁盘缓存管理模块中,所述磁盘缓存管理模块用于读取、写入以及删除存储的网络图片、网址信息、xml文件信息、URL地址信息、key值,所述显示模块用于显示来自于网络模块、内存缓存管理模块、磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
为了更好地实现本Android平台下加载网络图片的系统,所述磁盘缓存管理模块包括读取缓存模块、写入缓存模块和删除缓存模块,所述读取缓存模块用于读取存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值,所述写入缓存模块用于向磁盘缓存管理模块写入并存储网络图片、网址信息、xml文件信息、URL地址信息、key值,所述删除缓存模块用于在磁盘缓存管理模块存储空间达到最大阈值时删除存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
一种Android平台下加载网络图片的方法,其方法步骤如下:
A、网络模块通过Android平台访问网络地址并加载网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;待网络模块加载完毕后,内存缓存管理模块缓存存储该网络地址相关信息;待内存缓存管理模块缓存达到最大阈值时,则内存缓存管理模块将存储的网络地址相关信息传输给xml文件配置模块,xml文件配置模块对网络图片、网址信息、xml文件信息、URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输并存储于磁盘缓存管理模块中;
B、网络模块通过Android平台访问网络地址,首先将网络模块传入图片的URL地址在内存缓存管理模块中查找,若存在访问网络地址,则直接调取内存缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;若内存缓存管理模块不存在访问网络地址,则将网络模块传入图片的URL地址所对应的key值在磁盘缓存管理模块中查找,若存在访问网络地址所对应的key值,则直接调取磁盘缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;若内存缓存管理模块与磁盘缓存管理模块中均不存在该网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息,则网络模块直接加载该网络地址相关信息并在内存缓存管理模块存储;
C、显示模块按照步骤B中判断后显示调取或加载的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;
D、当步骤B中磁盘缓存管理模块存储的网络地址相关信息达到最大阈值时,所述删除缓存模块按照时间顺序删除部分存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
本发明较现有技术相比,具有以下优点及有益效果:
(1)本发明利用了内存缓存和磁盘缓存来高效的显示图片数据,并且可以轻松流畅的显示一堆图片数据;不仅将加载的图片缓存到内存中,而且还将加载的图片缓存到设备的内置存储器中,这样可以有效的减少重复加载相同图片所带来的耗时问题。
(2)本发明主要是结合内存缓存与磁盘缓存来加载任意数量的网络图片资源,在网络状况不好的情况下,可以很轻松的就显示出已经在本地缓存了的图片数据,进一步提高Android在网络环境不稳定的情况下也能高效显示图片的一种解决方法。
附图说明
图1为本发明的结构示意图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明:
实施例
如图1所示,一种Android平台下加载网络图片的系统,包括网络模块、内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块和显示模块,所述络模块分别与内存缓存管理模块、显示模块电通信连接,内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块、显示模块依次电通信连接;所述网络模块用于通过Android平台访问网络地址,所述内存缓存管理模块用于通过内存缓存方式存储网络模块访问加载得到的网络图片、网址信息、xml文件信息、URL地址信息,所述xml文件配置模块用于对网络图片、网址信息、xml文件信息、URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输给磁盘缓存管理模块中,所述磁盘缓存管理模块用于读取、写入以及删除存储的网络图片、网址信息、xml文件信息、URL地址信息、key值,所述显示模块用于显示来自于网络模块、内存缓存管理模块、磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
根据本发明优选的一种Android平台下加载网络图片的系统,所述磁盘缓存管理模块包括读取缓存模块、写入缓存模块和删除缓存模块,所述读取缓存模块用于读取存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值,所述写入缓存模块用于向磁盘缓存管理模块写入并存储网络图片、网址信息、xml文件信息、URL地址信息、key值,所述删除缓存模块用于在磁盘缓存管理模块存储空间达到最大阈值时删除存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
一种Android平台下加载网络图片的方法,其方法步骤如下:
A、网络模块通过Android平台访问网络地址并加载网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;待网络模块加载完毕后,内存缓存管理模块缓存存储该网络地址相关信息;待内存缓存管理模块缓存达到最大阈值时,则内存缓存管理模块将存储的网络地址相关信息传输给xml文件配置模块,xml文件配置模块对网络图片、网址信息、xml文件信息、URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输并存储于磁盘缓存管理模块中;
B、网络模块通过Android平台访问网络地址,首先将网络模块传入图片的URL地址在内存缓存管理模块中查找,若存在访问网络地址,则直接调取内存缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;若内存缓存管理模块不存在访问网络地址,则将网络模块传入图片的URL地址所对应的key值在磁盘缓存管理模块中查找,若存在访问网络地址所对应的key值,则直接调取磁盘缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;若内存缓存管理模块与磁盘缓存管理模块中均不存在该网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息,则网络模块直接加载该网络地址相关信息并在内存缓存管理模块存储;
C、显示模块按照步骤B中判断后显示调取或加载的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息、URL地址信息;
D、当步骤B中磁盘缓存管理模块存储的网络地址相关信息达到最大阈值时,所述删除缓存模块按照时间顺序删除部分存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息、key值。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种Android平台下加载网络图片的系统,其特征在于:包括网络模块、内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块和显示模块,所述网络模块分别与内存缓存管理模块、显示模块电通信连接,内存缓存管理模块、xml文件配置模块、磁盘缓存管理模块、显示模块依次电通信连接;所述网络模块用于通过Android平台访问网络地址,所述内存缓存管理模块用于通过内存缓存方式存储网络模块访问加载得到的网络图片、网址信息、xml文件信息以及URL地址信息,所述xml文件配置模块用于对网络图片、网址信息、xml文件信息以及URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输给磁盘缓存管理模块中,所述磁盘缓存管理模块用于读取、写入以及删除存储的网络图片、网址信息、xml文件信息、URL地址信息以及key值,所述显示模块用于显示来自于网络模块、内存缓存管理模块、磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息以及key值。
2.按照权利要求1所述的Android平台下加载网络图片的系统,其特征在于:所述磁盘缓存管理模块包括读取缓存模块、写入缓存模块和删除缓存模块,所述读取缓存模块用于读取存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息以及key值,所述写入缓存模块用于向磁盘缓存管理模块写入并存储网络图片、网址信息、xml文件信息、URL地址信息以及key值,所述删除缓存模块用于在磁盘缓存管理模块存储空间达到最大阈值时删除存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息以及key值。
3.一种Android平台下加载网络图片的方法,其特征在于:其方法步骤如下:
A、网络模块通过Android平台访问网络地址并加载网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息以及URL地址信息;待网络模块加载完毕后,内存缓存管理模块缓存存储该网络地址相关信息;待内存缓存管理模块缓存达到最大阈值时,则内存缓存管理模块将存储的网络地址相关信息传输给xml文件配置模块,xml文件配置模块对网络图片、网址信息、xml文件信息以及URL地址信息进行一一配置创建一个对应网络图片的key值并将配置信息传输并存储于磁盘缓存管理模块中;
B、网络模块通过Android平台访问网络地址,首先将网络模块传入图片的URL地址在内存缓存管理模块中查找,若存在访问网络地址,则直接调取内存缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息以及URL地址信息;若内存缓存管理模块不存在访问网络地址,则将网络模块传入图片的URL地址所对应的key值在磁盘缓存管理模块中查找,若存在访问网络地址所对应的key值,则直接调取磁盘缓存管理模块中缓存的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息以及URL地址信息;若内存缓存管理模块与磁盘缓存管理模块中均不存在该网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息以及URL地址信息,则网络模块直接加载该网络地址相关信息并在内存缓存管理模块存储;
C、显示模块按照步骤B中判断后显示调取或加载的网络地址相关信息,该网络地址相关信息包括网络图片、网址信息、xml文件信息以及URL地址信息;
D、当步骤B中磁盘缓存管理模块存储的网络地址相关信息达到最大阈值时,删除缓存模块删除部分存储于磁盘缓存管理模块中的网络图片、网址信息、xml文件信息、URL地址信息以及key值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510898216.9A CN105550246B (zh) | 2015-12-08 | 2015-12-08 | Android平台下加载网络图片的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510898216.9A CN105550246B (zh) | 2015-12-08 | 2015-12-08 | Android平台下加载网络图片的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550246A CN105550246A (zh) | 2016-05-04 |
CN105550246B true CN105550246B (zh) | 2019-02-12 |
Family
ID=55829435
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510898216.9A Active CN105550246B (zh) | 2015-12-08 | 2015-12-08 | Android平台下加载网络图片的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550246B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372109A (zh) * | 2016-08-19 | 2017-02-01 | 中国银联股份有限公司 | 互联网资源文件缓存方法及装置 |
CN106980579B (zh) | 2016-09-30 | 2020-08-14 | 阿里巴巴集团控股有限公司 | 一种图片加载方法及装置 |
CN106569894A (zh) * | 2016-10-11 | 2017-04-19 | 北京元心科技有限公司 | 图片加载方法和系统 |
CN106547624B (zh) * | 2016-11-04 | 2021-01-01 | 武汉斗鱼网络科技有限公司 | 基于Android的图片加载方法及装置 |
CN109218357A (zh) * | 2017-07-01 | 2019-01-15 | 武汉斗鱼网络科技有限公司 | 网络广告加载的方法、存储介质、电子设备及系统 |
CN109697045B (zh) * | 2018-12-28 | 2022-06-03 | 天弘基金管理有限公司 | 图片显示方法及装置 |
CN109783453B (zh) * | 2019-01-14 | 2021-08-17 | 哈皮尼思(北京)文化科技有限公司 | 一种文件浏览方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682026A (zh) * | 2011-03-16 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 浏览图片的方法及客户端 |
CN103760966A (zh) * | 2013-05-02 | 2014-04-30 | 乐视网信息技术(北京)股份有限公司 | 一种实现图形缓冲的方法 |
CN104252379A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 图片缩略图显示方法和装置 |
CN104461661A (zh) * | 2014-12-30 | 2015-03-25 | 中科创达软件股份有限公司 | 一种图片资源加载方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7050079B1 (en) * | 2000-01-04 | 2006-05-23 | International Business Machines Corporation | System and method for dynamically generating viewable graphics |
-
2015
- 2015-12-08 CN CN201510898216.9A patent/CN105550246B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102682026A (zh) * | 2011-03-16 | 2012-09-19 | 腾讯科技(深圳)有限公司 | 浏览图片的方法及客户端 |
CN103760966A (zh) * | 2013-05-02 | 2014-04-30 | 乐视网信息技术(北京)股份有限公司 | 一种实现图形缓冲的方法 |
CN104252379A (zh) * | 2013-06-25 | 2014-12-31 | 腾讯科技(深圳)有限公司 | 图片缩略图显示方法和装置 |
CN104461661A (zh) * | 2014-12-30 | 2015-03-25 | 中科创达软件股份有限公司 | 一种图片资源加载方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105550246A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105550246B (zh) | Android平台下加载网络图片的系统及方法 | |
CN109085997A (zh) | 用于非易失性存储器的存储器高效持续键值储存 | |
CN106470323B (zh) | 视频数据的存储方法及设备 | |
CN108427647A (zh) | 读取数据的方法以及混合存储器模块 | |
US9871727B2 (en) | Routing lookup method and device and method for constructing B-tree structure | |
CN101162441A (zh) | 数据的存取装置和方法 | |
CN110019048A (zh) | 基于MongoDB的文件处理方法、装置、系统及服务器 | |
CN107704573A (zh) | 一种与业务耦合的智能缓存方法 | |
CN108415962A (zh) | 一种云存储系统 | |
CN107741947A (zh) | 基于hdfs文件系统的随机数密钥的存储与获取方法 | |
CN107729504A (zh) | 一种处理大数据对象的方法及系统 | |
CN107506154A (zh) | 一种元数据的读取方法、装置及计算机可读存储介质 | |
US11385900B2 (en) | Accessing queue data | |
CN105573673A (zh) | 一种基于数据库的数据缓存系统 | |
CN106170776A (zh) | 用于使用具有无效的读取降低高速缓冲存储器中的带宽和功率的方法和设备 | |
CN104077078B (zh) | 读存储区、更新存储区的方法及装置 | |
CN103064749B (zh) | 一种进程间通信方法 | |
CN104536780A (zh) | 一种电子游戏资源高效加载方法及系统 | |
CN110502540A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN106250473B (zh) | 遥感影像云存储方法 | |
CN106250242A (zh) | 基于操作系统的内存复用方法及装置 | |
CN105786723A (zh) | 基于链表的应用缓存管理方法及装置 | |
CN106484691A (zh) | 移动终端的数据存储方法和装置 | |
CN105677579A (zh) | 缓存系统中的数据访问方法和系统 | |
CN111752941A (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |