[发明专利]一种智能终端中异步加载图片的方法和系统有效
申请号: | 201310263700.5 | 申请日: | 2013-06-27 |
公开(公告)号: | CN104252367B | 公开(公告)日: | 2017-12-19 |
发明(设计)人: | 刘宝剑 | 申请(专利权)人: | 北京新媒传信科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京市隆安律师事务所11323 | 代理人: | 权鲜枝,董垚 |
地址: | 100089 北京市海淀区万*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 智能 终端 异步 加载 图片 方法 系统 | ||
技术领域
本发明涉及计算机智能终端技术领域,特别是涉及一种智能终端中异步加载图片的方法和系统。
背景技术
现在安卓系统下的应用软件中存在的很大一部分都是需要客户端和服务器之间进行交互,即通过客户端访问网络。在访问网络的时候,就会存在客户端下载网络图片到本地并显示在智能终端屏幕的窗口上的情况。
现有的技术中,客户端在下载网络图片的过程中,通常采用的技术方案分为两种:一种通过自己构造线程和线程池;另一种是利用现成的异步任务AsyncTask。
其中,在第一种方案中,每次下载都要去重新构造一个线程,然后自己做一个独立的线程池,去控制线程的个数。在该方案中,需要提前编写代码量会很多,并且是自己控制线程的个数,在应用运行时容易出现各种问题。
在第二种方案中,使用现成的AsyncTask;由于AsyncTask本身就是一个线程池机制,默认允许运行的线程是5个,线程队列里面可以排队线程是128个,超过这个数目,程序会抛出异常。由于智能终端内存是非常珍贵资源,如果对每个下载任务都构造一个AsyncTask,这样会导致下载任务过大的占用智能终端的内存,不利于智能终端的其他应用的使用。并且如果不对AsyncTask的数量进行控制,一旦数目超过128个,那么应用程序就会出现异常。
综上所述,现有的智能终端中的异步加载图片的技术方案存在容易出错、占用系统资源过大的问题。
发明内容
本发明提供了一种智能终端中异步加载图片的方法和系统,本发明提供的技术方案能够解决现有方法存在容易出错、占用系统资源过大的问题。
为达到所述目的,本发明的技术方案是这样实现的:
本发明公开了一种智能终端中异步加载图片的方法,该方法包括:
根据待下载的图片,从智能终端的屏幕的视图列表中获取与所述待下载的图片对应的视图,判断所述视图是否为空;
如果所述视图为空,则创建异步任务,通过创建的异步任务下载所述待下载的图片,以所述待下载的图片的URL为key,所述异步任务为value,将所述异步任务保存在缓存中,在所述视图中记录所述待下载的图片的URL;
如果所述视图不为空,则获取所述视图中的URL,根据所述URL从缓存中查找对应的异步任务,释放获取的异步任务占用的资源,在缓存中移除所述异步任务对应的key和value,重新创建异步任务,通过新创建的异步任务下载所述待下载的图片,以所述待下载的图片的URL为key,所述新创建的异步任务为value,将所述新创建的异步任务保存在缓存中,在所述视图中记录所述待下载的图片的URL。
在上述方法中,智能终端的屏幕收到滑动视图列表操作后,所述视图列表中的全部或部分视图滑出屏幕时,所述从智能终端的屏幕的视图列表中获取与所述待下载的图片对应的视图具体包括:
从智能终端的屏幕视图列表中获取滑出屏幕的视图,以该视图作为与所述待下载的图片对应的视图。
在上述方法中,所述判断所述视图中是否为空具体包括:
通过获取视图接口获取与所述待下载图片对应的视图,在所述获取视图接口中判断所获取到的视图是否为空。
在上述方法中,所述在所述视图中记录所述待下载的图片的URL包括:
在所述视图的标签的视图持有适配器的URL属性中记录所述待下载图片的URL。
在上述方法中,所述视图不为空,则获取所述视图中的URL具体包括:
获取所述视图的标签的视图持有适配器,查找到所述视图持有适配器中URL属性,取出URL属性中记录的URL。
在上述方法中,所述智能终端的屏幕的视图列表中包含M个视图;则缓存中保存的异步任务的个数小于等于M,其中,M为正整数。
在上述方法中,所述释放获取的异步任务占用的资源前还包括:
判断所述异步任务的下载是否完成,如果没有完成,则停止所述异步任务的下载操作。
本发明公开了一种智能终端中异步加载图片的系统,该系统包括:
视图获取单元、判断单元、处理单元和异步任务创建单元;
所述视图获取单元,用于根据待下载的图片,从智能终端的屏幕的视图列表中获取与所述待下载的图片对应的视图,指示判断单元对所述视图进行判断;
所述判断单元,用于判断视图获取单元所指示的视图是否为空;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京新媒传信科技有限公司,未经北京新媒传信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310263700.5/2.html,转载请声明来源钻瓜专利网。