GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed 是什么?
来源:互联网 发布:怎么关闭电脑端口 编辑:程序博客网 时间:2024/06/02 06:59
http://www.cnblogs.com/error404/archive/2011/09/28/2194708.html
09-28 17:16:37.543: DEBUG/dalvikvm(21466): GC_EXTERNAL_ALLOC freed 390 objects / 45656 bytes in 50ms
09-28 17:16:40.513: DEBUG/dalvikvm(3267): GC_EXPLICIT freed 4501 objects / 251624 bytes in 67ms
很多做开发的朋友不明白上面这句是什么意思,给大家解释一下!
前面Free的内存是VM中java使用的内存,external是指VM中通过JNI中Native的类中的malloc分配出的内存,例如Bitmap和一些Cursor都是这么分配的。
在Davilk中,给一个程序分配的内存根据机型厂商的不同,而不同,现在的大部分的是32M了,而在VM内部会把这些内存分成java使用的内存和 Native使用的内存,它们之间是不能共享的,就是说当你的Native内存用完了,现在Java又有空闲的内存,这时Native会重新像VM申请,而不是直接使用java的。
例如上边的例子
free 3411K/6663K和external 24870K/26260K
如果这时需要创建一个2M的
Bitmap
,Native现有内存26260-24870=1390K<2048k,因此他就会向Vm申请内存,虽然java空闲的内存是
6663-3411=3252>2048,但这部分内存Native是不能使用。
但是你现在去申请2M的Native内存,VM会告诉你无法分配的,因为现在已使用的内存已经接近峰值了32M(26260+6663=32923 ),所以现在就会成force close 报OOM。
所以现在我们要检查我们的native内存的使用情况来避免OOM。
- GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed 是什么?
- GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed 是什么?
- 有关Android APK安装不了的问题—— GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed
- GC_EXTERNAL_ALLOC freed
- GC_EXTERNAL_ALLOC freed
- GC_EXTERNAL_ALLOC freed 1793K, 59% free 3312K/7943K, external 8616K/8616K, paused 54
- 内存调试: GC_CONCURRENT freed
- gc for alloc freed
- double freeing of freed memory
- fwrite和freed的返回值
- GC_CONCURRENT freed 循环不停打印日志
- oracle中报错Connect internal only, until freed
- Logcat 总提示D/dalvikvm : GC_FOR_ALLOC freed
- Too many GC_FOR_ALLOC freed in logcat
- GC_EXTERNAL_ALLOC
- ORA-00257: archiver error. Connect internal only, until freed.
- ORA-00257: archiver error. Connect internal only, until freed
- ORA-00257: archiver error. Connect internal only, until freed 问题解决
- JavaScript的变量
- mysql相关
- PDCA理念融入软件测试
- C++ 中char* ,String ,int , CString之间的转换
- KML服务
- GC_EXTERNAL_ALLOC freed 与 GC_EXPLICIT freed 是什么?
- push证书制作及打包pem
- 由FPGA配置PHY芯片弄出的问题
- 从客户端(tconttent="<p> 是test</p> ")中检测到有潜在危险的 Request.Form 值。
- hdoj_2594Simpsons’ Hidden Talents
- redis 学习笔记
- 社交网络新宠Medium.com
- 简单内存泄漏检测方法 解决 Detected memory leaks! 问题
- tcp/ip详解卷1:协议 读书笔记 TCP/IP分层