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