RedundantDownloads are Redundant[重复下载是冗余的]
- 减少下载的最基本方法是仅仅下载那些你需要的[美国人的思维还是比较直接,虽然这句话看起来比较搞笑,但是很有道理]。从数据的角度看,我们可以通过传递类似上次更新时间这样的参数来制定查询某些数据。
- 同样,在下载图片的时候,server那边最好能够减少图片的大小,而不是让我们下载完整大小的图片。
Cache Files Locally [缓存文件到本地]
- 避免下载重复的数据是很重要的。可以使用缓存机制来处理这个问题。缓存static的资源,例如完整的图片。这些缓存的资源需要分开存放。
- 为了保证app不会因为缓存而导致显示的是旧数据,请从缓存中获取最新的数据,当数据过期的时候,会提示进行刷新。
- 使用这种方法,可以有效保证缓存里面一直是最新的数据。
- 可以使用下面的方法来获取外部缓存的目录:
Context.getExternalCacheDir();
- 下面是获取内部缓存的方法,请注意,存放在内存中的数据有可能因内部空间不够而被清除。
Context.getCache();
- 不管是存放在哪里的文件都会在app卸载的时候被清除。
Use the HttpURLConnection Response Cache[使用HttpURLConnection Response缓存]
- 在Android 4.0里面为HttpURLConnection增加了一个response cache,我们可以使用反射机制开启HTTP response cache,看下面的例子:
- 上面的sample code会在Android 4.0以上的设备上开启response cache,同时不会影响到之前的程序。
- 在cache被开启之后,所有cache中的HTTP请求都可以直接在本地存储中进行响应,并不需要开启一个新的网络连接。
- 被cache起来的response可以被server所确保没有过期,这样就减少了带宽。没有被cached的response会因方便下次请求而被存储在response cache中。
后记:Cache机制在很多实际项目上都有使用到,实际操作会复杂许多,有机会希望能够分享一个Cache的实例。
学习自:http://developer.android.com/training/efficient-downloads/redundant_redundant.html,谢谢!
分享到:
相关推荐
vuforia-samples-advanced-android-ios-unity-4-2-3.zip官网下载太慢了,放在网盘方便大家下载
advanced-spark-training.pdf
Qt-Advanced-Docking-System-master
vuforia-samples-advanced-android-7-1-34 方便安卓的高通AR的unity示例包
Advanced Android App Architecture pdf + epub + source code
yii-advanced-app-2.0.4 下载
qt Qt-Advanced-Docking-System 使用教程 示例代码
《Android进阶解密》源码 源码目录介绍 目录 简介 chapter_12 第12章 理解ClassLoader chapter_13 第13章 热修复原理 chapter_14 第14章 Hook技术 chapter_15 第15章 插件化技术 本书内容 本书共...
yii2高级多应用脚手架,下载yii-advanced-app-2.0.36.tgz直接使用开发,下载不了的朋友可以方便下载使用
谷歌浏览器的api接口测试工具Advanced-REST-client
Kaggle比赛:波士顿房价数据集,包含训练集和测试集,以及数据描述文档,以及结果提交示例;该数据集经常用作回归类算法
为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、RocketMQ 都有什么优点和缺点? 如何保证消息队列的高可用? 如何保证消息不被重复消费?(如何保证消息消费的幂等性) 如何保证消息的...
Advanced Bash-Scripting Guide
yii-advanced-app-2.0.8.tgz 由于国外服务器下载太慢,共享下,用composer安装没有vendor核心文件夹
网上的别人的android例子,可以跟着看下,入门的 FragmentExample_start LocaleText3_start LocaleText_start MemoryOverload RecyclerView_start Scorekeeper_start SimpleAccessibility_start...
Advanced-REST-client_v3.1.9
谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client 谷歌插件Advanced-REST-client
Advanced Bash-Scripting Guide 3.9.1 (包括中译本) 作者:thegrendel 主页:http://personal.riverusers.com/~thegrendel 中译本:杨春敏(chunmin.yang at gmail.com) 黄毅 (linuxprogram at gmail.com)...
Advanced Android ...The Advanced Android course is intended to be an instructor-led training and is targeted towards intermediate Android developers with a background in software development or co
关于Android开发的电子书。本书从不同视角介绍了Android内在特点和结构,适合Android的初学者阅读。