CN105245372A - 一种基于缓存和异步机制的加载网络资源的优化方法 - Google Patents

一种基于缓存和异步机制的加载网络资源的优化方法 Download PDF

Info

Publication number
CN105245372A
CN105245372A CN201510656235.0A CN201510656235A CN105245372A CN 105245372 A CN105245372 A CN 105245372A CN 201510656235 A CN201510656235 A CN 201510656235A CN 105245372 A CN105245372 A CN 105245372A
Authority
CN
China
Prior art keywords
thread
asynchronous
task
buffer memory
optimization method
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.)
Pending
Application number
CN201510656235.0A
Other languages
English (en)
Inventor
赵志强
张安举
崔乐乐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201510656235.0A priority Critical patent/CN105245372A/zh
Publication of CN105245372A publication Critical patent/CN105245372A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种基于缓存和异步机制的加载网络资源的优化方法,属于资源优化领域;本发明在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,利用同步线程池执行任务,将产生的数据进行内存缓存,将产生的文件保存到SD卡上;防止UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生。

Description

一种基于缓存和异步机制的加载网络资源的优化方法
技术领域
本发明公开一种加载网络资源的优化方法,属于资源优化领域,具体地说是一种基于缓存和异步机制的加载网络资源的优化方法。
背景技术
随着技术的发展,移动设备已经成为人们日常生活中必不可少的工具,移动设备的配置越来越高,同时用户对移动设备的体验要求也越来越高。但移动设备与互联网的交互,由于信息量大,往往会出现卡顿或者无法加载的现象,使用户体验大幅度降低。通常为了提高体验效果,对于占用CPU较多的数据操作尽可能放在一个单独的线程中进行,通过handler等方式把执行的结果交于UI线程显示。而目前Android提供了AsyncTask,Hanlder、Message和Thread的组合。对于多线程的处理,有时加载网络资源时UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生,本发明针对上述问题,提高一种加载网络资源的优化方法,采用线程池及Android系统自身程序,针对Android系统的移动设备利用多线程加载网络资源时,防止UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生。
发明内容
本发明针对现有技术中移动设备Android系统中多线程的处理,有时加载网络资源时UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生的问题,提供一种基于缓存和异步机制的加载网络资源的优化方法,针对Android系统的移动设备利用多线程加载网络资源时,防止UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生。
本发明提出的具体方案是:
一种基于缓存和异步机制的加载网络资源的优化方法,在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,利用同步线程池执行任务,将产生的数据进行内存缓存,将产生的文件保存到SD卡上。
利用异步线程池排列任务,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行。
利用Android系统中AsyncTask的THREAD_POOL_EXECUTOR异步线程方法进行异步线程池排列任务。
利用Android系统中AsyncTask的SERIAL_EXECUTOR同步线程方法在同步线程池执行任务,SERIAL_EXECUTOR在THREAD_POOL_EXECUTOR的基础上添加一个mTasks的集合来保证任务的顺序执行。
利用Android系统中MemoryCache内存缓存把数据保存在内存中,利用FileCache文件缓存类把文件保存到SD卡上。
MemoryCache内存缓存,当缓存的数据超过设定的内存限制就删除最先缓存进来的数据。
本发明的有益之处是:
本发明提供一种基于缓存和异步机制的加载网络资源的优化方法,在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,利用同步线程池执行任务,将产生的数据进行内存缓存,将产生的文件保存到SD卡上,针对Android系统的移动设备利用多线程加载网络资源时,防止UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生,,更加有利用移动设备加载网络资源时的优化。
附图说明
图1本发明方法流程示意图。
具体实施方式
一种基于缓存和异步机制的加载网络资源的优化方法,在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,利用同步线程池执行任务,将产生的数据进行内存缓存,将产生的文件保存到SD卡上。
利用异步线程池排列任务,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行。
利用Android系统中AsyncTask的THREAD_POOL_EXECUTOR异步线程方法进行异步线程池排列任务。
利用Android系统中AsyncTask的SERIAL_EXECUTOR同步线程方法在同步线程池执行任务,SERIAL_EXECUTOR在THREAD_POOL_EXECUTOR的基础上添加一个mTasks的集合来保证任务的顺序执行。
利用Android系统中MemoryCache内存缓存把数据保存在内存中,利用FileCache文件缓存类把文件保存到SD卡上。
MemoryCache内存缓存,当缓存的数据超过设定的内存限制就删除最先缓存进来的数据。
利用上述方法结合附图对本发明做进一步说明。
一种基于缓存和异步机制的加载网络资源的优化方法,在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行,其中可以利用Android系统中AsyncTask的THREAD_POOL_EXECUTOR异步线程方法进行异步线程池排列任务,它的队列size是128,它的调度规则主要参考核心池大小,队列大小,以及最大线程数,异常处理Handler等参数;
利用Android系统中AsyncTask的SERIAL_EXECUTOR同步线程方法在同步线程池执行任务,SERIAL_EXECUTOR在THREAD_POOL_EXECUTOR的基础上添加一个mTasks的集合来保证任务的顺序执行;
利用Android系统中MemoryCache内存缓存把数据保存在内存中,利用FileCache文件缓存类把文件保存到SD卡上,其中MemoryCache内存缓存,当缓存的数据超过设定的内存限制就删除最先缓存进来的数据。
参考附图当移动设备加载网络后,启动线程池,利用异步线程池排列任务,利用同步线程池执行任务,图中给出4个线程任务,优先级相同的情况下,并发执行,将产生的数据进行内存缓存,将产生的文件保存到SD卡上。
本发明利用上述方法,针对Android系统的移动设备利用多线程加载网络资源时,防止UI线程出现卡顿甚至UI僵死的情况,以及网络传输延迟的现象时有发生,更加有利用移动设备加载网络资源时的优化。

Claims (6)

1.一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于在移动设备的Android系统中构建异步和同步线程池,利用异步线程池排列任务,利用同步线程池执行任务,将产生的数据进行内存缓存,将产生的文件保存到SD卡上。
2.根据权利要求1所述的一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于利用异步线程池排列任务,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务,每个线程都使用默认的堆栈大小,以默认的优先级运行。
3.根据权利要求2所述的一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于利用Android系统中AsyncTask的THREAD_POOL_EXECUTOR异步线程方法进行异步线程池排列任务。
4.根据权利要求3所述的一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于利用Android系统中AsyncTask的SERIAL_EXECUTOR同步线程方法在同步线程池执行任务,SERIAL_EXECUTOR在THREAD_POOL_EXECUTOR的基础上添加一个mTasks的集合来保证任务的顺序执行。
5.根据权利要求1-3任一项所述的一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于利用Android系统中MemoryCache内存缓存把数据保存在内存中,利用FileCache文件缓存类把文件保存到SD卡上。
6.根据权利要求5所述的一种基于缓存和异步机制的加载网络资源的优化方法,其特征在于MemoryCache内存缓存,当缓存的数据超过设定的内存限制就删除最先缓存进来的数据。
CN201510656235.0A 2015-10-12 2015-10-12 一种基于缓存和异步机制的加载网络资源的优化方法 Pending CN105245372A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510656235.0A CN105245372A (zh) 2015-10-12 2015-10-12 一种基于缓存和异步机制的加载网络资源的优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510656235.0A CN105245372A (zh) 2015-10-12 2015-10-12 一种基于缓存和异步机制的加载网络资源的优化方法

Publications (1)

Publication Number Publication Date
CN105245372A true CN105245372A (zh) 2016-01-13

Family

ID=55042883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510656235.0A Pending CN105245372A (zh) 2015-10-12 2015-10-12 一种基于缓存和异步机制的加载网络资源的优化方法

Country Status (1)

Country Link
CN (1) CN105245372A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301091A (zh) * 2016-04-14 2017-10-27 北京京东尚科信息技术有限公司 资源分配方法和装置
CN112148455A (zh) * 2020-09-29 2020-12-29 星环信息科技(上海)有限公司 一种任务处理方法、设备及介质
CN112486707A (zh) * 2020-12-14 2021-03-12 中国人民银行清算总中心 基于Redis的消息异步消费方法及装置
CN113254223A (zh) * 2021-07-14 2021-08-13 苏州浪潮智能科技有限公司 一种系统重启后的资源分配方法、系统及相关组件

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法
CN102594860A (zh) * 2010-12-02 2012-07-18 微软公司 混合同步和异步数据流
CN102929823A (zh) * 2012-09-08 2013-02-13 佳都新太科技股份有限公司 一种基于线程池的多串口通讯系统及方法
CN103197968A (zh) * 2013-03-18 2013-07-10 焦点科技股份有限公司 一种融合同步异步特点的线程池处理方法及系统
CN103455356A (zh) * 2013-09-05 2013-12-18 中国计量学院 多核移动设备上3d模型的并发加载及渲染方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法
CN102594860A (zh) * 2010-12-02 2012-07-18 微软公司 混合同步和异步数据流
CN102929823A (zh) * 2012-09-08 2013-02-13 佳都新太科技股份有限公司 一种基于线程池的多串口通讯系统及方法
CN103197968A (zh) * 2013-03-18 2013-07-10 焦点科技股份有限公司 一种融合同步异步特点的线程池处理方法及系统
CN103455356A (zh) * 2013-09-05 2013-12-18 中国计量学院 多核移动设备上3d模型的并发加载及渲染方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107301091A (zh) * 2016-04-14 2017-10-27 北京京东尚科信息技术有限公司 资源分配方法和装置
CN112148455A (zh) * 2020-09-29 2020-12-29 星环信息科技(上海)有限公司 一种任务处理方法、设备及介质
CN112486707A (zh) * 2020-12-14 2021-03-12 中国人民银行清算总中心 基于Redis的消息异步消费方法及装置
CN112486707B (zh) * 2020-12-14 2024-07-02 中国人民银行清算总中心 基于Redis的消息异步消费方法及装置
CN113254223A (zh) * 2021-07-14 2021-08-13 苏州浪潮智能科技有限公司 一种系统重启后的资源分配方法、系统及相关组件

Similar Documents

Publication Publication Date Title
WO2015106687A1 (en) Method and apparatus for processing computational task
KR101971389B1 (ko) 연합 기반 메모리 관리
KR102150774B1 (ko) 단말기 애플리케이션을 로딩하기 위한 방법 및 장치
CA2849565C (en) Method, apparatus, and system for scheduling processor core in multiprocessor core system
CN105245372A (zh) 一种基于缓存和异步机制的加载网络资源的优化方法
US20140237476A1 (en) Centralized task scheduling
KR20160110406A (ko) 휴대용 디바이스에서 동기적 태스크 디스패치를 위한 시스템 및 방법
KR20180069807A (ko) 동기화를 리매핑하는 것에 의한 태스크 서브그래프들의 가속화
WO2016115000A1 (en) Hybrid scheduler and power manager
JP2012522320A5 (zh)
CN104750543A (zh) 线程创建方法、业务请求处理方法及相关设备
TW200617680A (en) Establishing command order in an out of order DMA command queue
CN103873587B (zh) 一种基于云平台实现调度的方法及装置
JP2017530453A5 (zh)
CN106897299B (zh) 一种数据库访问方法及装置
US9417924B2 (en) Scheduling in job execution
CN103677959B (zh) 一种基于组播的虚拟机集群迁移方法及系统
JP2016126426A (ja) マルチコアシステム、マルチコアプロセッサ、並列処理方法及び並列処理制御プログラム
CN105528203A (zh) Cpu使用控制系统及方法
CN105653610A (zh) 一种快速显示大容量数据信息的方法
CN105183854A (zh) 一种数据库卸载数据的调度方法
US9766940B2 (en) Enabling dynamic job configuration in mapreduce
CN104104969B (zh) 一种视频截取方法及装置
CN103793270A (zh) 终端应用程序的迁移方法、装置及终端
CN107689979B (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20160113