水木社区手机版
首页
|版面-Microsoft.NET技术(DotNET)|
新版wap站已上线
返回
1/1
|
转到
主题:请教板上大佬,常见的memory leak通常发生在什么情况呢
17楼
|
leadu
|
2021-04-16 21:54:00
|
展开
eventhandler这些不算泄露,c#也没有循环引用问题
但跨环境(非托管,xamarin)容易出一些问题。
内存泄露不是问题,内存泄露导致的稳定性问题才是问题。程序跑一年泄露1kB的这种一般都不修
【 在 letdown 的大作中提到: 】
: 我很久很久没有写过c#了,只是记得有这么一档子事情,具体你可以参照一下这篇文章
:
https://stackoverflow.com/questions/46962507/why-does-a-lambda-expression-in-c-sharp-cause-a-memory-leak
: 哦,对,还有一种情况好像是发生在console程序中,如果没记错的话,console.writeLine这样的方法如果调用太频繁会阻塞线程,也会阻塞gc,忘记是不是这样了
: ...................
--
FROM 123.115.140.*
23楼
|
leadu
|
2021-04-17 19:44:20
|
展开
访问不了又无法gc的叫leak
访问的了但不想访问的,那叫代码没有写好
【 在 ustcBoy 的大作中提到: 】
: 是不是要看具体应用场景呢? 如果是桌面应用中,主窗口一直存活的情况下,错误的保持了对一些服务或者VM的事件引用导致它们无法被GC回收的话,应该会有影响吧?
: 我没有具体碰到这样的问题,只是纯脑补。请有经验的大佬分享一下体会。
--
FROM 123.115.140.*
26楼
|
leadu
|
2021-04-22 20:53:31
|
展开
“非托管内存的泄漏,会到只gc变得很慢”
???
【 在 letdown 的大作中提到: 】
: 看来你没用过c#写过大型程序,泄漏1kb本身不是问题,但是非托管内存的泄漏,会到只gc变得很慢,gc会锁进程,最终会导致整个系统的运行速度变慢
:
--
FROM 123.116.199.*
28楼
|
leadu
|
2021-04-24 20:33:04
|
展开
1kb的非托管内存泄漏,为什么会导致gc频繁且慢?
【 在 letdown 的大作中提到: 】
: 非托管内存泄漏,会导致gc频繁且慢,gc会进行锁,所以整个进程就会很慢
: 打字打错了
:
--
FROM 123.115.136.*
1/1
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版