2016-11-23 79 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