Android应用中图片列表造成内存溢出的解决方案

来源 :湖南大学 | 被引量 : 0次 | 上传用户:yayiye
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
内存溢出(Out Of Memory,简称OOM)通俗理解就是内存不够,是指运行程序时要求的内存,超出了系统所能分配的范围,从而导致发生内存溢出。一般在运行大型软件时,如果所需的内存远远超出了主机内安装的内存所承受大小时就会发生这种情况。造成这种现象的原因通常有两种:第一种是内存泄露;另外一种是当需要保存多个耗用内存过大或当加载单个超大的对象时,该对象的大小超过了当前剩余的可用内存空间。本文所描述的应用环境是指在具有即时聊天功能的Android应用程序中,浏览含有大量图片信息的图片列表时,由于在内存中加载这些图片时,这些图片对象的大小超过了剩余的可用内存空间,从而发生内存溢出的意外情况。本文对此简称为Android应用中图片列表造成内存溢出。作者对Android项目的图片列表中图片信息的数据源跟踪分析,从优化下载图片和本地缓冲图片入手,提出了有效防止内存溢出的解决方案。对于该方案,作者所做的工作总结如下:1对于下载过程先后提出了单线程下载模型、双任务下载模型以及改进型多任务下载模型。以发生OOM的次数和平均响应时间为判断优劣标准,通过大量的实验数据筛选出最佳性能的下载模型。2对目前常用的本地缓冲图片的多种技术的优缺点进行分析,并结合造成Android应用程序中发生OOM的具体原因,提出三级缓冲机制。通过对含有该机制的模型进行大量实验,验证了改进后的缓冲机制对避免OOM发生的有效性。3对含有第1、2步筛选出来的最佳性能的下载模型和三级缓冲机制的综合模型进行测试,通过对大量的实验数据进行统计分析,验证了综合模型比传统模型对避免OOM发生更加高效。解决方案已成功在Android应用中付诸实践。根据用户反馈,应用程序浏览图片信息的功能比较稳定、顺畅,很大程度上避免了OOM的发生,用户体验得到了很大的提升。
其他文献
采用4种不同属性类型的表面活性剂(CTAB,Tween-80,AOT以及鼠李糖脂)构建反胶束体系,以木质素模式物愈创木酚为底物,研究了漆酶在反胶束环境中催化愈创木酚的特性,通过对不同反
基于区域气候模式系统PRECIS输出的RCP4.5气候情景数据分析表明,相较于1981—2010年,至2071—2097年冬小麦种植北界将平均向北移动147.8 km,北移面积约1.86×10~5 km~2。
截至目前,中国学生接触法语的时间一般在大学,而大部分法语教学课程都在法语语言文学系内进行,这类语言接触通常是非自然性的,因为大部分课程是以受授型为主导思想来进行规划
魏秀仁的《花月痕》是一部带有自传体色彩的小说,一般论者简单地视为狭邪作品,认为是受才子佳人的影响而成,而没有深入进行探讨。本文试图从作者的独特个性、文人心态、历史时代
《花月痕》是晚清狭邪小说的代表作之一,其中运用了"翡翠九龙珮"这个特殊的道具,并以它的流转路线构成了典型的物归原主情节模式,这其实是大团圆模式的一种变形,《花月痕》以这
在“一带一路”文化语境中,在多元文化融合发展理念下,中国地方戏曲在融合西方音乐体裁之基础上进行了具体、有效的发展。运用音乐剧形式泗州戏体裁以新颖的手法创作的《绿皮
利用脉冲激光单粒子翻转敏感区定位成像系统,对静态随机存储器件ID T 71256开展了单粒子翻转敏感区定位的试验研究。为避开器件正面金属层对激光的阻挡,试验采用背面辐照方式进
为改善水利工程现有治漂措施存在功能相互独立、操作被动、效率低等不足,保障工程效益和水面安全,依据漂浮物特性、河势及工程布置特点,利用水力一体治漂浮排、浮槽、浮闸进
1生大豆(包括黄豆和黑豆)、豆粕及豆饼生大豆及饼粕中含有抗胰蛋白酶,植物血球凝集素和脲酶3种有害物质。抗胰蛋白酶能抑制蛋白酶催化分解蛋白质;植物血球凝集素能使血细胞减少、