- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
如果您查看 Android 日志,您可能会看到很多此类内容。
它们是什么意思,知道这些可能有助于我们更好地分配内存。
例子:
28470 dalvikvm D GC_FOR_MALLOC freed 665 objects / 239992 bytes in 71ms
28470 dalvikvm D GC_FOR_MALLOC freed 673 objects / 240288 bytes in 87ms
21940 dalvikvm D GC_EXPLICIT freed 4802 objects / 185320 bytes in 78ms
28470 dalvikvm D GC_FOR_MALLOC freed 666 objects / 240536 bytes in 63ms
最佳答案
GC_FOR_MALLOC 表示由于堆上没有足够的内存来执行分配而触发了 GC。可能会在创建新对象时触发。
GC_EXPLICIT 表示垃圾收集器已被明确要求收集,而不是由堆中的高水位标记触发。到处都会发生,但最有可能发生在线程被杀死或绑定(bind)通信被取消时。
还有一些其他的:
GC_CONCURRENT当堆达到一定数量的要收集的对象时触发。
GC_EXTERNAL_ALLOC 表示 VM 正在尝试减少用于可收集对象的内存量,以便为更多不可收集对象腾出空间。
更新:在更高版本的 Android 中更改了第一个事件的名称。它现在称为“GC_FOR_ALLOC”。还有一个可用的新事件,尽管在现代手机中非常罕见:GC_BEFORE_OOM 表示系统运行时内存非常低,并且执行了最终 GC,以避免调用低内存 killer 。
关于android - Android Logcat 中的 GC_FOR_MALLOC、GC_EXPLICIT 和其他 GC_* 是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976566/
出于某种原因,我的应用程序触发 GC_EXPLICIT 的方式太多,因此可能会减慢速度。 有什么方法可以找出哪些对象导致了这种情况? 我尝试使用 DDMS 来查明分配是否存在问题,但看起来没问题。 此
如果您查看 Android 日志,您可能会看到很多此类内容。 它们是什么意思,知道这些可能有助于我们更好地分配内存。 例子: 28470 dalvikvm D GC_
我是一名优秀的程序员,十分优秀!