Android---导致OOM的常见原因

目录

内存溢出OOM

单应用可用的最大内存

导致 OOM 的常见原因

内存实时监控

内存溢出OOM

单应用可用的最大内存

\bullet dalvik.vm.heapstartsize,它表示堆分配的初始大小。

\bullet dalvik.vm.heapgrowthlimit,它表示单个进程内存限定值。

\bullet dalvik.vm.heapsize,单个进程可用的最大内存。

当定义了heapgrowthlimit,就会它的值来限定单个进程的内存值。通常情况下 heapsize 值会大于 heapgrowthlimit 的值。当设置 heapgrowthlimit 的值不够时,我们就可用在清单文件(AndroidManifest.xml)文件里添加  “android:largeHeap=true” 来使用 heapsize 的值。

导致 OOM 的常见原因

1. 加载大图片

2. 内存泄漏

java 异常体系

内存实时监控

JPDA

\bullet Java 平台调试体系 JPDA(Java PlatformDebugger Architecture),它是 Java 虚拟机为调试和监控虚拟机专门提供的一套接口

\bullet JVMTI 是 JVM 对外暴露的接口,JDI 是实现了 JDWP 通信协议的客户端,调试器通过它和 JVM 中被调试程序通信。

 JVMTI 重要功能

\bullet 重新定义类

\bullet 跟踪对象分配和垃圾回收过程

\bullet 遵循对象的引用树,遍历堆中的所有对象

\bullet 检测 Java 调用堆栈

\bullet 暂停(和恢复)所有线程

ART TI

ART(Android Runtime)。在 Android 8.0及更高版本中,ART 工具接口(ART TI )可提供某些运行时的内部架构信息,并允许分离器和调试程序影响影响应用的运行时行为,这可用于实现最先进的性能工具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

别偷我的猪_09

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值