我在Activity中调用了Application中的一个静态成员线程池的execute方法。
在execute的参数中新建了一个Runnable匿名内部类进行耗时的业务。
我的问题是:如果业务还没有进行完,Activity被销毁了,那么会不会出现内存泄露。
我的理解是:这个Runnable对象持有Activity的引用,在线程还没运行关闭的时候,Activity被销毁的话,是不能被回收的。
如果真的这样,那么这个问题有什么有效的解决办法。
还望大神指点!
Activity中的代码:
(在onCreate中执行)
mApplication.mThreadPool.execute(new Runnable(){
public void run(){
//耗时业务代码
}
});