zoukankan      html  css  js  c++  java
  • 简单通俗讲解 android 内存泄漏

    在柠檬班社区看到老师一篇android 内存泄漏写的通俗易懂,绝对是小白能看懂的!

    原文:http://www.lemfix.com/topics/2

    平常会听到程序员说“内存泄漏”,看表面的意思就是内存泄漏,可能会导致APP卡住,表面理解的就是这样。那么,什么情况会发生内存泄漏?这个问题是我一直在关注,但有些文章写得有点复杂,不过最近找到一篇比较通俗易懂的!

    JVM 和 ART

    JVM:是运行Java程序的虚拟机;JVM 在运行Java程序时,会创建一个实例,通过在实际的计算机上仿真模拟各种计算机功能,它具有完善的硬件架构(如处理器、堆栈、寄存器等),可以让java程序运行与操作系统无关。

    ART:android虚拟机,是android系统运行android程序的虚拟机,其指令集是基于寄存器架构的,执行特有的文件格式-dex字节码来完成生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等功能。

    内存区域

    Java在JVM虚拟出的内存环境中运行,JVM的内存可分为三个区:堆(heap)、栈(stack)和方法区(method)。

    内存泄漏 和 内存溢出

    内存泄露(Memory leak) 程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。

    内存溢出(out of memory) 程序向系统申请的内存空间超出了系统能给的,比如一车最多能坐5个人,你却非要塞下10个,车就挤爆了。 大量的内存泄露会导致内存溢出(oom)

    内存泄漏原因分析

    未完

  • 相关阅读:
    私有程序集的探测过程
    程序集版本控制
    浅谈对对象clone的理解
    [导入]WCF后传系列(3):深入WCF寻址Part 3—消息过滤引擎
    [导入]WCF后传系列(5):深入WCF寻址Part 5—逻辑地址和物理地址
    强名称程序集
    [导入]WCF后传系列(4):深入WCF寻址Part 4—自定义消息筛选器
    绑定过程小结
    概述
    UpdatePanel 的更新与触发环境
  • 原文地址:https://www.cnblogs.com/cuitang/p/11243001.html
Copyright © 2011-2022 走看看