Android图片加载&使用介绍
### Android图片加载与使用介绍 #### 一、加载框架Glide与Picasso 在Android开发过程中,图片加载是一项常见的需求。为了提高应用性能并优化用户体验,开发者通常会选择使用专门的图片加载库。其中,**Glide** 和 **Picasso** 是最常用的两个库。 ##### 1.1 Glide Glide 是一个高效的图片加载库,它由 BumpTech 开发,被广泛应用于 Google 的开源项目中,如 2014 年 Google I/O 大会的官方 App。Glide 的主要特点包括: - **API简单易用**:Glide 提供了一套简洁明了的 API,使得加载图片变得非常简单。 - **自动内存管理**:Glide 自动管理图片的内存使用,减少了开发者手动管理的负担。 - **支持多种资源类型**:除了图片外,Glide 还支持 GIF 动图等多种类型的资源加载。 - **高性能**:Glide 在加载图片时,默认使用 RGB_565 格式,相比 ARGB_8888 能够节省大量内存。 ##### 1.2 Picasso Picasso 是由 Square 公司开发的一款图片加载库,它同样提供了一套简洁的 API 接口,并且支持多种图片格式的加载。相比于 Glide,Picasso 的特点包括: - **加载速度快**:Picasso 在加载图片时速度较快。 - **默认使用 ARGB_8888**:这使得加载的图片质量更高,但同时也消耗更多的内存资源。 - **易于集成**:Picasso 的集成非常简单,只需要添加依赖即可使用。 #### 二、Glide与Picasso的区别及注意事项 尽管 Glide 和 Picasso 的 API 调用方式非常相似,但在具体使用过程中仍存在一些显著差异。 ##### 2.1 Bitmap格式 对于同一张 1920*1080 像素的图片加载到 768*432 的 ImageView 中,两者的内存占用情况有所不同。 - **Picasso** 加载 Bitmap 默认使用 ARGB_8888 格式,这会导致内存占用比基准线高出近 8MB。 - **Glide** 加载 Bitmap 默认使用 RGB_565 格式,内存占用仅比基准线高出约 1MB。 理想的 ARGB_8888 格式的内存占用应该为 768*432*4/1024/1024 = 1.265MB。然而,Picasso 实际上加载了全尺寸图片 (1920*1080*4/1024/1024 = 7.9MB),而 Glide 根据 ImageView 的大小自动调整加载的图片大小 (768*432*4/1024/1024 = 0.63MB)。因此,Glide 更加高效且易于使用。 ##### 2.2 Glide的特殊考虑 - **失真问题**:由于 Glide 使用 RGB_565 格式,缺少 Alpha 通道,可能会导致某些图片出现失真。此时可以通过重写 GlideModule 设置为 `DecodeFormat.PREFER_ARGB_8888` 来解决。 - **GIF支持**:Glide 支持加载 GIF 图像,但有时会出现加载不全或闪烁的问题。在这种情况下,建议使用专门的 GIF 加载库(如 android-gif-drawable)以获得更好的性能。 #### 三、Drawable文件夹使用 Android 应用中的图片资源通常存储在 `drawable-` 后跟特定密度的文件夹中,例如 `drawable-mdpi`、`drawable-xxxhdpi` 等。正确地放置图片资源可以帮助应用更好地适应不同的屏幕密度。 ##### 3.1 不同密度文件夹的内存占用 假设有一张 719*1280 像素的图片,在 2560*1440 屏幕的手机上,放置于不同的文件夹中,内存占用会有所不同: - **drawable-mdpi**:最终内存为 42.9975MB(计算公式:`(device_density/对应文件夹density)² * 原始内存`,其中 device density 为 560,mdpi 文件夹的 density 为 160)。 - **drawable-xxxhdpi**:适合大多数高分辨率设备,低分辨率设备会自动压缩图片,从而减少内存占用。 - **drawable-nodpi**:加载原图并通过 Glide 进行适配,这种方式更加合理,无需担心放置图片的具体路径。 ##### 3.2 启动器图标 启动器图标应放置于 `res/mipmap-` 后跟特定密度的文件夹中,以确保启动器应用能够使用最佳的图片资源。 选择合适的图片加载库(如 Glide 或 Picasso)以及正确地管理图片资源(放置于适当的 drawable 文件夹中),对于优化 Android 应用的性能和用户体验至关重要。




























剩余14页未读,继续阅读


- 粉丝: 634
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 中学校园网站的方案设计书(1).doc
- 数据库自治技术架构解读.pptx
- 算法工程师的个人简历模板.doc
- 基于单片机的步进电机控制系统方案设计书03085.doc
- 单片机原理及接口技术课程设计.doc
- 云计算背景下计算机安全问题及对策.docx
- 专业定制级别互联网电商推广宣传创业计划书优秀ppt模板课件【精选模板】.ppt
- 2014年度混凝土与水泥制品行业技术革新奖获奖项目管理展示(五).doc
- 定向增发项目管理收益率的二因子分解模型及溢价率的项目管理质地假说.doc
- 信息化施工组织设计专业技术方案.doc
- 基于云计算的虚拟化实验室设计与实现.docx
- 芜湖铁画在互联网时代下的发展出路探析.docx
- 2017公需课《网络效应》和《专业技术人员知识重点创造与经营》练习题答案.doc
- 互联网+背景下的情景式和互动式教学模式探究.docx
- 新形势下计算机网络信息安全存在的威胁及对策分析.docx
- JAVA网吧管理.doc


