在我调用内存时,您是否可以描述为静态方法分配和释放内存?
public class Class1 {
public static ArrayList<String> method1(Context context) {
// some variables
return new ArrayList<String>();
}
}
我在Class1中编写了一个简单的静态方法示例,该示例在一个无限期工作的服务中调用!
现在我想知道这个方法是否被垃圾收集器从内存中删除了?
我研究过静态变量,一旦类加载器从内存中删除,静态变量就会被删除。但是方法怎么样?
对不起,我知道我的问题不明确,但我的意思是标题。
public class TestService extends IntentService {
public TestService() {
super("test");
}
@Override
protected void onHandleIntent(Intent intent) {
while(true){
Class1.method1(this);
}
}
}
答案 0 :(得分:1)
如果在堆上分配了一些东西,并丢弃对它的引用,那么内存将被垃圾收集器释放。
while(true) {
// Allocate a new ArrayList, throw away the return value (a no-op)
Class1.method1(this);
}