很多开发者都是从J2ME或J2EE上过来的,对于内存的使用和理解并不是很到位,Android开发网本次给大家一些架构上的指导,防止出现豆腐渣工程的出现。Android作为以Java语言为主的智能平台对于我们开发一些高性能和质量的软件来说了解Android程序内存管理机制是必须的。 Android的Dalvik VM在基础方面和Sun JVM没有什么大的区别仅仅是字节码的优化,我们要知道什么时候用gc什么时候用recycle以及到底用不用finalization,因为Java对内存的分配只需要new开发者不需要显示的释放内存,但是这样造成的内存泄露问题的几率反而更高。
1.对于常规开发者而言需要了解 Java的四种引用方式,比如强引用,软引用,弱引用以及虚引用。一些复杂些的程序在长期运行很可能出现类似OutOfMemoryError的异常。
2.并不要过多的指望gc,不用的对象可以显示的设置为空,比如obj=null,java的gc使用的是一个有向图,判断一个对象是否有效看的是其他的对象能到达这个对象的顶点,有向图的相对于链表、二叉树来说开销是可想而知。
3.Android为每个程序分配的对内存可以通过Runtime类的totalMemory() freeMemory() 两个方法获取VM的一些内存信息,对于系统heap内存获取,可以通过Dalvik.VMRuntime类的getMinimumHeapSize() 方法获取最小可用堆内存,同时显示释放软引用可以调用该类的gcSoftReferences() 方法,获取更多的运行内存。
4.对于多线程的处理,如果并发的线程很多,同时有频繁的创建和释放,可以通过concurrent类的线程池解决线程创建的效率瓶颈。
5. 不要在循环中创建过多的本地变量。
分享到:
相关推荐
Android手机程序安装指南(新手必读)在Android平台上安装文件的后缀名一般为“.apk”,和WM微软平台上的安装文件的后缀名“.exe”或者S60塞班平台上的安装文件的后缀名“.sis或.sisx”类似。所以只要看到“.apk”...
Android开发入门必读 阅读顺序: Android应用开发详解.pdf Android应用框架原理与程序设计36技第三版.pdf
Android版对接必读1
AMX程序设计者必读 中控编程必备 AMX程序设计者必读 中控编程必备
android 高危权限对照表开发必读android 高危权限对照表开发必读android 高危权限对android 高危权限对照表开发必读照表开发必读
[入门必读]android移动开发 十个 案例 值得学习打包
android+经典代码例子 开发者必读
小程序商城开发必读指南!干货,链接
网络管理员必读-网络组建教材,教你如何实战组网。为各公司或单位网络管理员的学习教程。。
Android 入门必读书籍,对同学们的深入详细理解Android有很大的帮助。
进阶必读-Windows程序设计。windows程序设计底层知识,高级编程必学。
教程名称:精通企业管理必读资料大全课程目录:【】00054-现代企业管理教程_10038141【】00055-现代企业管理学_10038145【】00068-中外合资经营企业管理手册_10038135【】00109-高等院校试用教材.现代企业管理_...
Android官方培训教程最新中文版,入门学习必读
Android开发入门之路(初学者必读).zip
索引 中国战略管理研究现状 新经济为中国证券市场带来什么 浅谈哲学思想对企业经营管理的影响 战略管理的设计、实施和评估 五种重要的管理能力 最有效的管理技术是什么 新经济时代企业人力资源...
网络管理员必读系列下载地址
公共管理必读书目.doc
本书共两篇,15章,前10章介绍的是Windows Server 2003 R2系统中的各主要网络管理方法,如用户和组的管理、用户文件配置与应用、文件系统管理、磁盘系统管理、活动目录管理、组策略配置与管理、远程管理与远程协助、...
Android开发必读之作 实用代码帮你迅速掌握开发技巧 从零开始构建精彩的Android应用程序 Android是时下非常流行的一种开源移动开发平台,它得到了全球众多知名硬件生产商和移动运营商的支持,已经成为移动应用领域最...
本文19页正文,详述了ios环境下内存管理策略、内存管理代码书写问题,必读资料,有效避免内存泄露。