基于Android的图片加载框架设计及优化

 2022-06-13 22:56:53

论文总字数:34041字

摘 要

随着智能手机及其智能操作系统的发展,简单的应用无法满足人类的视觉需求。调查表明图片加载功能具有普遍性,然而在不使用任何框架直接加载图片时会导致手机卡顿、发热甚至应用崩溃等现象。

本文对Android手机应用中图片加载的原理、技术进行了介绍,并研究了流程中的优化技术,包括线程调度、多级缓存处理(LruCache DiskLruCache)、图片格式和冗余任务处理等。通过编写加载Demo,对不使用优化方案、使用第三方成熟加载框架(Glide)和自编写加载框架三种情况下的加载性能进行了测试。

最终,自编写的加载框架拥有较好地性能,可较好地应对中小负荷的加载需求,达到了较好地优化效果。对于大负荷情景,仍需探索更深层次的优化以进一步提升性能。

关键词:Android,多线程,LruCache,DiskLruCache,缓存

Abstract

With the development of smart phones and their operating systems, simple applications cannot meet human visual needs. Surveys have shown the universality of the image loading function. However, directly loading the image without using any frame will cause the phone to freeze, fever or even crash.

This paper starts from the demand scenario, introduces the principle and technology of picture loading in Android mobile phone applications, and studies the optimization technology in the process, including thread scheduling, multi-level cache processing (LruCache DiskLruCache), picture format and redundant tasks. Processing and so on. By loading and loading Demo, we test the load performance in three cases without using optimization scheme, using third-party mature loading framework (Glide) and self-compiled loading framework.

In the end, the self-written load framework has better performance and can better cope with the loading requirements of medium and small loads, achieving a better optimization effect. For heavy load scenarios, deeper optimization still needs to be explored to further improve performance.

KEY WORDS:,,, Android, Multithreading, LruCache, DiskLruCache, Cache

目录

摘要 I

Abstract II

第一章 绪论 1

1.1 研究背景及意义 1

1.1.1 研究背景 1

1.1.2 研究意义 2

1.2 应用中的图片加载现状 2

1.2.1 主流应用图片功能统计 2

1.2.2 主流图片加载框架的研究 3

1.3 论文结构 4

第二章 图片加载框架原理 5

2.1 网络 5

2.2 多线程 5

2.3 缓存策略 7

2.4 图片编码 8

2.4.1 图像的基本数据结构 8

2.4.2 转换图片格式的重要性 8

第三章 基于Android的图片加载框架的设计与实现 10

3.1 图片加载框架模型规划 10

3.2 加载框架的三个重要组成部分的实现 10

3.2.1 网络模块的实现 10

3.2.2 线程调度 11

3.2.3 缓存模块的实现 13

3.3 图片加载框架模块的整合与实现 17

第四章 基于Android的图片加载框架的优化与测试 20

4.1 LRU算法 20

4.1.1 LruCache 20

4.1.2 DiskLruCache 21

4.2 列表刷新机制 22

4.3 测试 24

4.3.1 单页面连续滑动 24

4.3.2 多页面连续滑动 25

4.4 小结 26

第五章 总结与展望 27

致谢 28

参考文献 29

绪论

随着人类科学技术的发展,手机早已不是单纯的用来通讯的工具,而是集娱乐、商务、教育等多种功能于一体的智能设备。

研究背景及意义

目前来说,手机的主流操作系统有两种,一个是安卓,一个是IOS,无可厚非iPhone的推出可以说改变了整个手机行业的发展趋势,但安卓系统手机品牌众多,并且有谷歌强大的技术支持,安卓的市场份额略占上风,安卓应用的开发也显得举足轻重。人作为感官动物,为了让用户有更好的使用体验,几乎每一个应用都需要图片。如何在应用中更高效、更合理的加载网络图片成为一项重要的论题。

研究背景

2001年, 世界上第一款智能手机面世,这部手机是由索尼爱立信推出的。采用的是塞班OS系统。紧接着更大手机商如诺基亚摩托罗拉也纷纷推出了属于自己的智能手机。黑莓在2004年推出的6210则是更接近现代智能手机的一款手机。2006年虽然达到了塞班的巅峰时代,各大厂商都在马不停蹄的追随潮流。直到2007年,智能手机的时代真正看到了曙光是因为苹果推出了第一代iPhone。当iPhone4横空出世时,风靡全球的智能手机热潮才正式来袭。2008年,HTC制造了首部Android手机 HTC G1。

苹果、三星在较长一段时间内占据了智能手机市场的江山。但在国内的智能手机市场,在大多数智能旗舰机定价都在三千元之上的时代,2011年8月16日,小米手机一代发布,用1999的价格凸显性价比,借着互联网的快速发展和人们消费方式的改变,充分利用了各种电商的发售方式降低自己的成本,很快的拥有了很多追随者,并在国际市场也有了一席之地。受到小米手机的冲击,越来越多的Android智能手机都开始推出低价手机。

智能手机和非智能手机最大的区别就在于操作系统,智能手机的操作系统是智能化的,拥有更多的功能。曾经智能手机操作系统的王者是塞班系统,在2005年到2010年间引领风骚,当时大街小巷所有人似乎都拥有着诺基亚的塞班手机,塞班手机的重要特点主要有两个:对硬件要求低、操作较为简单。

剩余内容已隐藏,请支付后下载全文,论文总字数:34041字

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;