喜糖

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

导航

2011年9月16日

摘要: http://www.blogjava.net/rosen/archive/2010/06/13/323522.html 阅读全文

posted @ 2011-09-16 02:48 喜糖 阅读(156) 评论(0) 推荐(0) 编辑

摘要: 概述在android的开发中,要时刻主要内存的分配和垃圾回收,因为系统为每一个dalvik虚拟机分配的内存是有限的,在google的G1中,分配的最大堆大小只有16M,后来的机器一般都为24M,实在是少的可怜。这样就需要我们在开发过程中要时刻注意。不要因为自己的代码问题而造成OOM错误。JAVA的内存管理大家都知道,android应用层是由java开发的,android的davlik虚拟机与jvm也类似,只不过它是基于寄存器的。因此要了解android的内存管理就必须得了解java的内存分配和垃圾回收机制。在java中,是通过new关键字来为对象分配内存的,而内存的释放是由垃圾收集器(GC)来 阅读全文

posted @ 2011-09-16 02:43 喜糖 阅读(239) 评论(0) 推荐(0) 编辑

摘要: http://wenku.baidu.com/view/bf788a02b52acfc789ebc9c4.html明天分析该文章。 此乃佳品 阅读全文

posted @ 2011-09-16 02:25 喜糖 阅读(278) 评论(0) 推荐(0) 编辑

摘要: 1、数据库的cursor没有关闭2、 构造adapter没有使用缓存contentview 衍生的listview优化问题:减少创建View的对象,充分使用contentview,可以使用静态类来处理优化getView的过程3、Bitmap对象不使用时采用recycle()释放内存4、Activity中的对象生命周期大于Activity?调式方法:DDMS->HEAPSIZE->dataobject->total sizeAndroid应用程序被限制在16MB的堆上运行,至少在T-Mobile G1上是这样。对于手机来说,这是很大的内存了;但对于一些开发人员来说,这算是较小的 阅读全文

posted @ 2011-09-16 02:16 喜糖 阅读(429) 评论(0) 推荐(0) 编辑

摘要: Android系统特质不需要太多剩余内存,其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。 当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是自动关进程的软件。 到这里有人会说了,那为什么内.. 阅读全文

posted @ 2011-09-16 01:58 喜糖 阅读(389) 评论(0) 推荐(0) 编辑