将内存分配和释放到静态方法

时间:2014-12-10 11:19:57

标签: java android memory-management static

在我调用内存时,您是否可以描述为静态方法分配和释放内存?

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);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

如果在堆上分配了一些东西,并丢弃对它的引用,那么内存将被垃圾收集器释放。

while(true) {
    // Allocate a new ArrayList, throw away the return value (a no-op)
    Class1.method1(this);
}