关于安卓的内存泄漏问题:这种情况属于内存泄漏吗?

我在Activity中开一个线程(New Thread),因为这个线程是非静态内部类,所以它隐形的持有Activity的引用。也就是说线程不结束,Activity即使退出也无法销毁。
所以为了能关闭线程,我在Activity退出时,在Activity 的OnDestory 里设置个开关变量来结束线程的while循环,从而实现关闭线程的目的。
但是,即使设置了开关变量,线程也是要走完最后一次while,在下次while前才退出循环对吧。
那么问题来了,既然要走完最后一次循环,这个线程的结束可能要比Activity退出晚那么一点(比如说2秒吧)。那这2秒是不是也算内存泄漏呢?
如果算是内存泄漏,是不是这种短时间的内存泄漏属于正常的呢?也就是说这种内存泄漏在我们的接受范围内,无需去管它了?
请老师指教,谢谢!

为什么不等线程结束之后再彻底退出Activity呢,注意操作时序,保证流程的合理性。

不属于,这个要保证流程合理

流程合理化,这不属于的

我认为不需要理会他,过一段时间会自动回收

真正的缺陷是内存泄漏的堆积,而且你这种只是一次性的内存泄漏,对用户来说没什么危害,而且是短时间内就进行了引用释放

不属于 ,这算是正常,一段时间后恢复

gf0515老师,如果要等线程结束之后再彻底退出Activity,那我就要在线程的最后设置个变量,走到最后了,这个变量为true。另外还需要在Activity的OnDestory里加个while,等待这个变量为true是吧?个人觉得,有点太麻烦了。。。。
如果象楼上诸位老师所说,这种情况的内存泄漏没有问题,我就不太想做上述的等待线程结束再退出Activity的处理了。
不光是麻烦,实际上等待线程结束的时候,内存也是占用着的。无非是落一个没有短时间内存泄漏的好名声

如果要等线程结束之后再彻底退出Activity,那我就要在线程的最后设置个变量,走到最后了,这个变量为true。另外还需要在Activity的OnDestory里加个while,等待这个变量为true是吧?个人觉得,有点太麻烦了。。。。

是属于泄露的,另外还需要在Activity的OnDestory里加个while,等待这个变量为true。

属于内存泄漏,关键看你等待时候是否会影响到其他程序的运行。