关于在activity中使用匿名内部类启动线程的问题

今天在遇到一个问题,在一个activity中用如下代码启动一个线程去异步更新数据库内容。

new Thread(){

public void run(){

//这里面是更新数据库的方法

}

}

当这个线程没有执行完成的时候,而这个时候刚好所在的activity被销毁了,比如返回上一级activity,这个时候,当前的

activity所占用的内存就会无法释放。

原因:匿名内部类会持有当前所在类的引用,导致虚拟机无法释放activity占用的内存,在此记录一下。

posted @ 2015-07-23 20:22  zhengxiaoguo  阅读(371)  评论(0)    收藏  举报