转载:http://my.oschina.net/rengwuxian/blog/182885 高效使用Bitmaps有什么好处? 我们常常提到的“Android程序优化”,通常指的是性能和内存的优化,即:更快的响应速度,更低的内存占用.Android程序的性能和内存问题,大部分都和图片紧密相关,而图片的加载在很多情况下很用到Bitmap(位图)这个类.而由于Bitmap自身的特性(将每个像素的属性全部保存在内存中),导致稍有不慎就会创建出一个占用内存非常大的Bitmap对象,从而导致加载过慢,…
转载:http://my.oschina.net/rengwuxian/blog/183802 为什么要在后台加载Bitmap? 有没有过这种体验:你在Android手机上打开了一个带有含图片的ListView的页面,用手猛地一划,就见那ListView嘎嘎地卡,仿佛每一个新的Item都是顶着阻力蹦出来的一样?看完这篇文章,你将学会怎样避免这种情况的发生. 在Android中,使用BitmapFactory.decodeResource(), BitmapFactory.decodeStream…
第12章 Bitmap的加载和Cache 12.1 Bitmap的高速加载 (1)Bitmap是如何加载的?BitmapFactory类提供了四类方法:decodeFile.decodeResource.decodeStream和decodeByteArray从不同来源加载出一个Bitmap对象,最终的实现是在底层实现的.如何高效加载Bitmap?采用BitmapFactory.Options按照一定的采样率来加载所需尺寸的图片,因为imageview所需的图片大小往往小于图片的原始尺寸.(2)…
由于Bitmap的特殊性以及Android对单个应用所施加的内存限制,比如16M,这导致加载Bitmap的时候很容易出现内存溢出.比如以下场景: java.lang.OutofMemoryError:bitmap size exceeds VM budget Android中常用的缓存策略也是很有意思,缓存策略一个通用的思想,可以用到很多场景中,比如在实际开发中经常需要用到Bitmap做缓存.通过缓存策略,我们不需要每次都从网络上请求图片或者从存储设备中加载图片,这样就极大地提高了图片的加载效率…
Android系统中图片一般用Bitmap对象表示,它支持png,jpg等常见格式.通常情况下图片的体积都比较大,单个应用允许使用的内存又是有限的,所以我们需要采取一些手段减少内存占用并提高加载速度. 1.图片加载 SDK提供了BitmapFactory类供我们加载图片,常用的方法有这么几个: BitmapFactory.decodeFile :从文件加载. BitmapFactory.decodeByteArray :从字节数组加载. BitmapFactory.decodeStream :从…
部署各vue项目,走了一遍坑.... vue单页面应用刷新404 找到nginx多网站配置文件:类似nginx/sites-available/www.baidu.com server { listen ; index index.html index.htm index.nginx-debian.html; server_name www.baidu.com; location / { root /mnt/www/www.baidu.com; try_files $uri $uri/ /ind…
接上篇<android开发艺术探索>读书笔记(十一)--Android的线程和线程池 No1: 目前比较常用的缓存策略是LruCache和DiskLruCache,LruCache常被用作内存缓存,DiskLruCache常被用作存储设备缓存. Lru是Least Recently Used的缩写,即最近最少使用算法,当缓存快满时,会淘汰近期最少使用的缓存目标. No2: LruCache: LruCache是一个泛型类,它内部采用一个LinkedHashMap以强引用的方式存储外界的缓存对象…
cnpm run build 文件过大,其中主要是vender.js有1.5M,代码部署到服务器,首次访问加载页面时比较慢,耗时6.5s左右,所以需要优化下. 1.Nginx开启gzip 找到nginx.config.关于gzip压缩代码: http { gzip on; #开启或关闭gzip on off gzip_disable "msie6"; #不使用gzip IE6 gzip_min_length 100k; #gzip压缩最小文件大小,超出进行压缩(自行调节) gzip_b…
在做 ajax 滚动加载的时候,越到后面 数据量越大,使用obj.innerHTML+=row添加到页面的时候,出现ie内存不足的情况,此时使用createDocumentFragment,创建一个文档碎片,把所有的新节点附加其上,然后把文档碎片一次性添加到document中,内存节省明显. <script type="text/javascript"> function append(parent, text) { if (typeof text === 'string'…
http://blog.csdn.net/dinko321/article/details/46739563 http://blog.csdn.net/u012812482/article/details/52024877 http://blog.csdn.net/tonny_guan/article/details/39324041 http://www.cnblogs.com/dingwenjie/archive/2012/03/28/2419805.html…