这是内存泄漏吗? - 上下文是Android上下文
我的应用程序遇到内存不足异常。我的代码通常会执行如下操作:
while(true)
{
A.foo(this);
}
public class A
{
public static void foo(Context c)
{
return;
}
}
它会泄漏吗?
I ran into out of memory exception on my app. I have code that, in general, does something like below:
while(true)
{
A.foo(this);
}
public class A
{
public static void foo(Context c)
{
return;
}
}
Will it leak?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
执行
A.foo(Context)
后不会保留对Context
的引用(根据您提供的代码),因此您可能不需要担心 <代码>A.foo。但是,运行一个永远不会退出的
while(true)
循环的线程可能会导致僵尸线程泄漏内存 - 当它持有引用时,这种情况会更加明显到上下文
。No reference to the
Context
is held afterA.foo(Context)
is executed (according to the code you have provided), so you probably do not need to worry aboutA.foo
.However, having a thread that is running a
while(true)
loop that never exits can lead to zombie threads that leak out memory - which is more apparent when it holds a reference to aContext
.