dalvikvm虚拟机弹出的几种错误

本文探讨了DalvikVM虚拟机中触发GC的不同情况,包括GC_MALLOC(内存分配失败)、GC_CONCURRENT(达到内存阈值后自动触发)、GC_EXPLICIT(程序主动调用或信号触发)、GC_EXTERNAL_ALLOC(外部内存分配失败)、GC_FOR_ALLOC(分配内存不足触发)、GC_FOR_MALLOC(堆上分配对象内存不足)和GC_BEFORE_OOM(防止OOM异常前的GC尝试)。这些GC事件对于理解和优化Android应用的内存使用至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  Eclipse开发调试时会弹出如下log信息,
08-29 16:07:47.960: E/dalvikvm(3126):GC_CONCURRENT freed 66K, 18% free 33560K/40647K, paused 13ms+19ms, total 106ms

2. log得种类:
    • GC_MALLOC, 内存分配失败时触发
    • GC_CONCURRENT,表示是在已分配内存达到一定量之后触发的GC
    • GC_EXPLICIT,表示是应用程序调用System.gc、VMRuntime.gc接口或者收到SIGUSR1信号时触发的GC。
    • GC_EXTERNAL_ALLOC,外部内存分配失败时触发
    • GC_FOR_ALLOC   内存分配时,发现可用内存不够时触发的GC事件。
    •  GC_FOR_MALLOC: 表示是在堆上分配对象时内存不足触发的GC。 

    •  GC_BEFORE_OOM: 表示是在准备抛OOM异常之前进行的最后努力而触发的GC。

    •        实际上,GC_FOR_MALLOC、GC_CONCURRENT和GC_BEFORE_OOM三种类型的GC都是在分配对象的过程触发的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值