`
ko8e
  • 浏览: 51886 次
  • 性别: Icon_minigender_1
  • 来自: 龙岩
社区版块
存档分类
最新评论

Android学习之内存管理机制

阅读更多
很多开发者都是从J2ME或J2EE上过来的,对于内存的使用和理解并不是很到位,Android开发网本次给大家一些架构上的指导,防止出现豆腐渣工程的出现。Android作为以Java语言为主的智能平台对于我们开发一些高性能和质量的软件来说了解Android程序内存管理机制是必须的。 Android的Dalvik VM在基础方面和Sun JVM没有什么大的区别仅仅是字节码的优化,我们要知道什么时候用gc什么时候用recycle以及到底用不用finalization,因为Java对内存的分配只需要new开发者不需要显示的释放内存,但是这样造成的内存泄露问题的几率反而更高。

1.对于常规开发者而言需要了解 Java的四种引用方式,比如强引用,软引用,弱引用以及虚引用。一些复杂些的程序在长期运行很可能出现类似OutOfMemoryError的异常。

2.并不要过多的指望gc,不用的对象可以显示的设置为空,比如obj=null,这里Android123提示大家,java的gc使用的是一个有向图,判断一个对象是否有效看的是其他的对象能到达这个对象的顶点,有向图的相对于链表、二叉树来说开销是可想而知。

3.Android为每个程序分配的对内存可以通过Runtime类的totalMemory() freeMemory() 两个方法获取VM的一些内存信息,对于系统heap内存获取,可以通过Dalvik.VMRuntime类的getMinimumHeapSize() 方法获取最小可用堆内存,同时显示释放软引用可以调用该类的gcSoftReferences() 方法,获取更多的运行内存。

4.对于多线程的处理,如果并发的线程很多,同时有频繁的创建和释放,可以通过concurrent类的线程池解决线程创建的效率瓶颈。

5. 不要在循环中创建过多的本地变量。
有关Android和Java的系统性能分析,Android123将在以后的文章中详细讲述如何调试Java分析内存泄露以及Android上的gdb调试器分析得出内存性能改进。
分享到:
评论

相关推荐

    面向Android系统的动态内存管理策略.pdf

    此外,多篇学术文献和技术报告也对Android系统的内存管理进行了研究和讨论,相关专业指导和参考文献也在不断增多,这为Android系统开发人员提供了丰富的学习资源和实践案例。通过不断地研究和探索,可以更好地应对...

    android应用内存监控工具

    在Android应用开发中,内存管理是一项至关重要的任务,因为它直接影响到应用的性能、稳定性和用户体验。内存监控工具能够帮助开发者检测和分析应用的内存使用情况,预防和解决内存泄漏等问题。"Emmagee.apk"可能是一...

    Android学习资料之内存优化.zip

    总之,Android内存优化是提升应用性能的重要环节,开发者需要理解内存管理机制,熟练掌握各种优化策略,以确保应用的稳定性和高效性。通过深入学习和实践这些文档,你将能够有效地解决和预防内存问题,为用户提供更...

    android系统分析内存泄露测试

    在Android系统中,内存...这需要开发者熟悉Android的内存管理机制,掌握使用各种工具进行分析的技巧,以及对常见泄漏场景有深入的认识。只有这样,才能确保应用在运行时能够有效地利用内存,避免因内存泄漏导致的问题。

    Android进程管理机制及优化(HTC&其它可参考)

    本文将深入探讨Android的进程管理机制,包括其核心原理、生命周期以及如何进行优化,特别是针对HTC设备和其他可参考的实现。 首先,Android的进程管理机制基于优先级进行资源调度。系统将所有运行的进程分为五种...

    Android内存管理

    本文将深入探讨Android系统的内存管理机制,包括内存分配、内存回收、内存优化以及避免内存泄漏等方面。 首先,我们来了解Android内存的层次结构。Android系统采用了一种分层的内存模型,包括RAM(随机访问存储器)...

    探讨Android内存管理

    Android 内存管理机制 如何评估 App 的内存占用 一些减少 App 内存占用的建议 内存管理概述 Android 运行时 (ART) 和 Dalvik 虚拟机使用分页和内存映射来管理内存。这意味着应用修改的任何内存,无论修改的方式是...

    android获取手机内存大小

    在Android平台上,获取手机内存大小是一项常见的需求,无论是为了优化应用程序性能、监控设备资源使用情况...通过持续学习和实践,我们可以更好地理解和掌握Android内存管理机制,从而编写出更加高效、稳定的应用程序。

    Android内核驱动——内存管理

    本文将深入探讨Android内核驱动中的内存管理机制,主要包括以下几个方面:内存分配、内存分页、内存缓存、内存压力管理和低内存 killer。 首先,我们来看内存分配。在Android内核中,内存分配主要通过slab分配器...

    Android防止内存溢出浅析.zip

    1. **Android内存管理机制** - **Dalvik/ART虚拟机**:Android系统使用Dalvik或ART虚拟机执行应用程序,它们都有自己的内存管理策略。 - **堆内存**:Java对象主要存储在堆中,Android为每个应用分配了一定量的堆...

    Android获取cpu,内存,磁盘使用率信息

    然而,由于Android系统的安全机制,不同的权限级别决定了你能获取到何种程度的信息。下面将详细阐述如何在Android中获取这些信息,以及权限限制。 首先,我们要了解Android的权限模型。在Android 6.0(API级别23)...

    Android内存泄漏简介

    总之,虽然Java的垃圾回收机制为内存管理提供了一定的便利,但Android应用开发者仍然需要注意正确管理内存,以避免内存泄漏的发生。通过学习和实践上述知识点,开发者可以提高编写高效且稳定的应用程序的能力。

    android 图片下载 有效解决内存溢出问题

    首先,我们需要理解Android内存管理机制。每个Android应用都有一个独立的Dalvik虚拟机实例,分配一定的内存空间。当加载大图或大量小图时,如果超过了这个限制,就会触发OOM。因此,图片的大小、分辨率以及加载方式...

    android 7.1 获取各个应用的各种内存信息的app demo

    在Android系统中,获取...总之,理解和掌握Android的内存管理机制,以及如何通过API获取和分析内存信息,对于开发高效、稳定的应用至关重要。这个app demo就是一个很好的学习资源,帮助开发者实践这些概念并提升技能。

    深入探索Android内存优化1

    通过深入理解Android内存管理机制,合理利用各种工具,开发者可以有效地进行内存优化,提升应用性能和用户体验。这是一个长期学习和实践的过程,不断适应Android平台的更新和发展。 总之,Android内存优化是复杂而...

    Android内存优化1

    本文将探讨Android内存管理机制、优化内存的意义、如何避免内存泄漏、优化内存空间以及图片管理模块的设计与实现。 一、Android内存管理机制 Android的内存管理基于Java虚拟机(JVM),在Android 5.0之前使用...

    AndroidApp定位和规避内存泄露方法研究

    在Android应用开发中,内存管理是一项至关重要的任务,因为有效的内存管理直接影响到应用的性能、稳定性和用户体验。本文将深入探讨Android App中的...持续学习和优化内存管理策略,是每个Android开发者必备的技能。

    Android核心机制深入分析

    在TerryLog的分析中,可能还涉及到了一些高级主题,如异步任务处理(Handler、Looper、MessageQueue)、多线程编程、内存管理、性能优化策略、以及最近版本中的新特性,如Android Jetpack组件库、Kotlin语言的支持、...

    Android防止内存溢出浅析

    本文将深入探讨Android平台上的内存管理机制,以及如何避免内存泄露问题。 首先,我们需要理解Android内存管理的基本原理。Android应用程序基于Java语言,因此其内存机制与Java相似。Java的垃圾回收(GC)机制会自动...

Global site tag (gtag.js) - Google Analytics