
android
文章平均质量分 62
国安小昊23
这个作者很懒,什么都没留下…
展开
-
Android中高效的显示图片之一 ——加载大图
在网上看了不少文章,发现还是官方文档介绍最详细,把重要的东西简单摘要出来。详细可看官方文档地址 ( http://www.bangchui.org/read.php?tid=9 ) 。在应用中显示图片,如果不多加小心,很容易就会使应用因为异常“java.lang.OutofMemoryError:bitmap size exceeds VM budget”而导致crash。在andro转载 2013-02-16 14:04:27 · 858 阅读 · 0 评论 -
Android中高效的显示图片之二——在非UI线程中处理图片
在“加载大图”文章中提到的BitmapFactory.decode*方法,如果源数据是在磁盘、网络或其它任何不是在内存中的位置,那么它都不应该在UI线程中执行。因为它的加载时间不可预测且依赖于一系列因素(磁盘读写速度、图片大小、CPU频率等)。如果在主线程中执行这个操作,一旦它阻塞了主线程,就会导致系统ANR。本节介绍使用AsyncTask在后台处理图片和演示怎么处理并发问题。一、使用一个As转载 2013-02-16 14:11:17 · 516 阅读 · 0 评论 -
Android中高效的显示图片之三——缓存图片
加载一张图片到UI相对比较简单,如果一次要加载一组图片,就会变得麻烦很多。像ListView,GridView,ViewPager等控件,需要显示的图片和将要显示的图片数量可能会很大。 为了减少内存使用,这类控件都重复利用移出屏幕的子视图,如果你没有持用引用,垃圾回收器也会回收你加载过的图片。这种做法很好,但是如果想要图片加载快速流畅且不想当控件拖回来时重新运算获取加载过的图片,通常会使转载 2013-02-16 14:15:25 · 536 阅读 · 0 评论 -
Android显示图片避免OOM和ANR小结
看完了文档里关于图片介绍的几篇文章,结合项目和一些网上的文章,谈下在android平台显示图片的一些个人想法。1.从设计角度,最好不要让手机显示大于手机屏幕数倍的大图片,如果源图是个大图,加载时把图片缩小到屏幕大小,使用在decode图片时使用option选项,直接加载缩小后的图片。网上不少人说先读取图片InputStream流,再通过BitmapFactory.decodeStrea转载 2013-02-16 14:17:04 · 561 阅读 · 0 评论 -
详解Android中AsyncTask的使用
在Android中实现异步任务机制有两种方式,Handler和AsyncTask。Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制。关于Handler的相关知识,前面也有所介绍,不清楚的朋友们可以参照一下。转载 2013-02-16 15:02:13 · 477 阅读 · 0 评论 -
Android使用AsyncTask下载显示图片
Android使用AsyncTask 有如下好处:1. 线程的开销较大,如果每个任务都要创建一个线程,那么应用程序的效率要低很多;2. 线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负;3. 另外,在新线程中更新UI还必须要引入handler,这让代码看上去非常臃肿;为了解决这一问题,Android转载 2013-02-16 16:22:44 · 1570 阅读 · 0 评论 -
android中使用afinal一行代码显示网络图片
public class DemoActivity extends FinalActivity { @ViewInject(id=R.id.imageView) ImageView imageView; //无需findViewById @Override public void onCreate(Bundle savedInstanceState)原创 2013-02-16 15:15:20 · 2115 阅读 · 0 评论