喜糖

移动开发工程师 。涉及 android、ios、jni

导航

2011年9月27日

摘要: 五、超级大胖子Bitmap可以说出现OutOfMemory问题的绝大多数人,都是因为Bitmap的问题。因为Bitmap占用的内存实在是太多了,它是一个“超级大胖子”,特别是分辨率大的图片,如果要显示多张那问题就更显著了。如何解决Bitmap带给我们的内存问题?第一、及时的销毁。虽然,系统能够确认Bitmap分配的内存最终会被销毁,但是由于它占用的内存过多,所以很可能会超过java堆的限制。因此,在用完Bitmap时,要及时的recycle掉。recycle并不能确定立即就会将Bitmap释放掉,但是会给虚拟机一个暗示:“该图片可以释放了”。第二、设置一定的采样率。有时候,我们要显示的区域很小 阅读全文

posted @ 2011-09-27 00:45 喜糖 阅读(518) 评论(0) 推荐(0) 编辑

摘要: 一、Android的内存机制Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。那么GC怎么能够确认某一个对象是不是已经被废弃了呢?Java采用了有向图的原理。Java将引用关系考虑为图的有向边,有向边从引用者指向引用对象。线程对象可以作为有向图的起始顶点,该图就是从起始顶点开始的一棵树,根顶点可以到达的对象都是有效对象,GC不会回收这些对象。如果 阅读全文

posted @ 2011-09-27 00:40 喜糖 阅读(673) 评论(0) 推荐(0) 编辑