2016-11-23 82 views
1
public class CustomView extends View{ 
    public CustomView (Context context) { 
     super(context); 
    } 
    public CustomView (Context context, AttributeSet attrs) { 
     super(context, attrs); 
     new Thread(){ 
      @Override 
      public void run() { 
       while(true){ 
        //dosomething; 
       } 
      } 
     }.start(); 
    } 
} 

当屏幕配置改变或其他东西,它会泄漏内存?
如果是这样,我该怎么办?谢谢。在自定义视图中创建线程会泄漏内存?

+0

活动时摧毁,你需要停止线程,或者使用了WeakReference ... – zt9788

回答

1

当屏幕配置发生变化或其他东西时,它会泄漏 内存?

它会,因为无限循环。

我应该怎么办

你必须迫使你的线程终止运行方法。你可以,例如,设置boolean是要在同时进行评估,并迫使该booleanonDetachedFromWindow