LrcCache和DiskLruCache相结合打造图片加载框架
1概述
这几在研究图片加载的方面的知识,在网上看了一下前辈们写的文章,受到了一些启发,于是综合多方面的知识,将这些整合起来,自己边写了一个图片加载框架。说到图片加载最容易出问题的就是OOM就是内存溢出,所以一定要限制加载图片时使用的内存,这就使用到Android提供的缓存类LruCache,关于LruCache的知识这里不再赘述...
分类:
系统相关 时间:
2016-05-03 02:05:28
阅读次数:
467
Android系统的手机在系统底层指定了堆内存的上限值,大部分手机的缺省值是16MB,不过也有些高配置的机型是24MB的,所以我们的程序在申请内存空间时,为了确保能够成功申请到内存空间,应该保证当前已分配的内存加上当前需要分配的内存值的总大小不能超过当前堆的最大内存值。由于内存管理上将外部内存完全当成了当前堆的一部分,也就是说Bitmap对象通过栈上的引用来指向堆上的Bitmap对象,而堆上的Bi...
分类:
移动开发 时间:
2016-05-02 15:41:37
阅读次数:
503
综述 在我们的开发中经常会使用到多线程。例如在Android中,由于主线程的诸多限制,像网络请求等一些耗时的操作我们必须在子线程中运行。我们往往会通过new Thread来开启一个子线程,待子线程操作完成以后通过Handler切换到主线程中运行。这么以来我们无法管理我们所创建的子线程,并且无限制的创建子线程,它们相互之间竞争,很有可能由于占用过多资源而导致死机或者OOM。...
分类:
编程语言 时间:
2016-04-29 22:18:24
阅读次数:
311
总结一下微信的本地图片加载有以下几个特点,也是提高用户体验的关键点
1、缩略图挨个加载,一个一个加载完毕,直到屏幕所有缩略图都加载完成
2、不等当前屏的所有缩略图加载完,迅速向下滑,滑动停止时立即加载停止页面的图片
3、已经加载成功的缩略图,不管滑出去多远,滑回来的时候不需要重新加载
为了满足上面几个要求,主要采用以下几个方法:
0、为了防止图片加载出来OOM,需要对分辨率和颜色的位数进...
分类:
微信 时间:
2016-04-29 16:20:46
阅读次数:
332
一为何会OOM
一直以来Andorid手机的内存都比iPhoneiPhone6RAM1G大的多Android却经常出现OOM这是为何
大型游戏如何在较小的heapsize上运行
Android内存究竟如何native heapjava heap
以上主要来自现任支付宝大神余龙飞著作Android进程的内存管理分析
二内存分析之MAT
谷歌提供了几种内存检测工具
触发内存泄漏
怎样的内存是健康的
MAT基础知识...
分类:
移动开发 时间:
2016-04-29 15:40:28
阅读次数:
285
有不少朋友都问过我,怎样才能写出高性能的应用程序,如何避免程序出现OOM,或者当程序内存占用过高的时候该怎么样去排查。确实,一个优秀的应用程序,不仅仅要功能完成得好,性能问题也应该处理得恰到好处。为此,我也是阅读了不少Android官方给出的高性能编程建议,那么从本篇文章开始,我就准备开始写一个全新系列的博文,来把这些建议进行整理和分析,帮助大家能够写出更加出色的应用程序。
注意本系列文章的...
分类:
移动开发 时间:
2016-04-29 15:33:07
阅读次数:
197
Android的内存优化是性能优化中很重要的一部分,而避免OOM又是内存优化中比较核心的一点。这是一篇关于内存优化中如何避免OOM的总结性概要文章,内容大多都是和OOM有关的实践总结概要。理解错误或是偏差的地方,还请多包涵指正,谢谢!
(一)Android的内存管理机制
Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http...
分类:
移动开发 时间:
2016-04-29 15:19:54
阅读次数:
251
Sudoku Killer Time Limit: 1000ms Memory Limit: 32768KB 64-bit integer IO format: Java class name: Time Limit: 1000ms Memory Limit: 32768KB 自从2006年3月10 ...
分类:
其他好文 时间:
2016-04-29 14:12:48
阅读次数:
149
相信大家平时做Android应用的时候,多少会接触到异步加载图片,或者加载大量图片的问题,而加载图片我们常常会遇到许多的问题,比如说图片的错乱,OOM等问题,对于新手来说,这些问题解决起来会比较吃力,所以就有很多的开源图片加载框架应运而生,比较著名的就是Universal-Image-Loader,相信很多朋友都听过或者使用过这个强大的图片加载框架,今天这篇文章就是对这个框架的基本介绍以及使用,主...
分类:
其他好文 时间:
2016-04-22 20:32:46
阅读次数:
163
当我们相册中的图片有几千张的时候,你快速的拖动滚动条到底部,怎么样才能保证图片加载的流畅性以及避免OOM呢
1.使用Lru算法对图片进行缓存保证流畅性以及避免OOM
2.图片加载肯定是要异步进行的,那么就涉及到多线程的并发进行,使用线程池对任务进行调度
3.使用android内部的异步消息机制Looper+Handler对taskQueu...
分类:
其他好文 时间:
2016-04-22 19:55:08
阅读次数:
155