相信Android开发人员对android内存管理并不陌生,这是很多android软件开发者接触的项目。 1.Android为每个程序分配的对内存可以通过Runtime类的totalMemory()freeMemory()两个方法获取VM的一些内存信息,对于系统heap内存获取,可以通过Dalvik.VMRuntime类的getMinimumHeapSize()方法获取最小可用堆内存,同时显示释放软引用可以调用该类的gcSoftReferences()方法,获取更多的运行内存。 2.对于常规android开发者而言需要了解Java的四种引用方式,比如强引用,软引用,弱引用以及虚引用。一些复杂些的程序在长期运行很可能出现类似OutOfMemoryError的异常。
3.并不要过多的指望gc,不用的对象可以显示的设置为空,比如obj=null,这里我提示大家,java的gc使用的是一个有向图,判断一个对象是否有效看的是其他的对象能到达这个对象的顶点,有向图的相对于链表、二叉树来说开销是可想而知。
4.不要在循环中创建过多的本地变量。 有关Android和Java的系统性能分析,我将在以后的文章中详细讲述如何调试Java分析内存泄露以及Android上的gdb调试器分析得出内存性能改进。 android内存管理对于android开发人员来说,非常重要。大家在学习期间,不妨就好好地把这一块内容好好学习与研究一番。 |