0
我在应用程序中遇到内存不足异常。我的代码一般情况如下:这是内存泄漏吗? - 上下文是Android上下文
while(true)
{
A.foo(this);
}
public class A
{
public static void foo(Context c)
{
return;
}
}
它会泄漏吗?
我在应用程序中遇到内存不足异常。我的代码一般情况如下:这是内存泄漏吗? - 上下文是Android上下文
while(true)
{
A.foo(this);
}
public class A
{
public static void foo(Context c)
{
return;
}
}
它会泄漏吗?
A.foo(Context)
执行后(根据您提供的代码)没有提及Context
,因此您可能不需要担心A.foo
。
然而,具有正在运行的while(true)
循环从未离开可导致该漏出存储器僵尸线程的线程 - 这是更加明显当它保持为Context
的引用。
是的,真正的代码实际上并没有做这个忙碌的等待。只是想解释一下A.foo()可以被称为未知数的时间。真正的代码在activity的onCreate()中调用A.foo(),并且在将设备从横向旋转到纵向时调用该函数。经过几次旋转后,内存耗尽。我正在寻找一个静态指针,指向永远不会被清除的上下文,到目前为止找不到它。 – oriharel