作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
想知道是否有人可以阐明这一点。
我有一个内存占用量很大(和内存流失)的应用程序。没有任何内存泄漏,GC 往往会很好地释放资源。
然而,有时 GC 不会“按时”发生,从而导致内存不足异常。我想知道是否有人可以阐明这一点?
我使用了 REDGate 分析器,它非常好 - 应用程序具有典型的“锯齿”模式 - OOM 发生在锯齿的顶部。不幸的是,分析器不能用于 (AFAIK) 识别内存流失的来源。
是否可以设置内存“软限制”,在该限制下应强制执行 GC?目前,只有当内存达到其绝对限制时才会执行 GC,从而导致 OOM。
最佳答案
垃圾回收“不及时发生”真的不可能。当新的内存分配将 Gen-0 推到某个极限时,它们就会发生。因此,它们总是在内存分配将内存推到其限制之前发生。这种情况每天在世界各地发生很多次,如果有任何错误不为人所知,我会感到惊讶。
您是否考虑过您实际上可能分配了比可用内存更多的内存?该操作系统仅允许您在大多数 32 位计算机上访问 2GB。
还有一些其他的可能性:
关于c# - 垃圾收集运行得太晚 - 导致 OutOfMemory 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923073/
我的 CollapsingToolbarLayout 工作不够准确。图 1 显示了初始状态,图 2 显示了我向下滚动时的状态。过渡发生得太早,它将以(在这种情况下)粉红色的空白区域结束。再次向上滚动时
我是一名优秀的程序员,十分优秀!