在说这个问题之前要明确一个知识点:非静态匿名内部类会持有其外部类的隐式引用。
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
                new Thread() {
          @Override
          public void run() {
            while (true) {
              SystemClock.sleep(1000);
            }
          }
        }.start();
      }
这种情况,就会出现activity一直存在,因此在多次横屏竖屏之后,内存就是出现危险。
解决办法:线程类声明为私有的静态内部类
    public class MainActivity extends Activity {
      @Override
      protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        exampleTwo();
      }
      private void exampleTwo() {
        new MyThread().start();
      }
      private static class MyThread extends Thread {
        @Override
        public void run() {
          while (true) {
            SystemClock.sleep(1000);
          }
        }
      }
    }因此:
1,尽可能使用静态内部类。
2,Java 的垃圾回收机制不是万能的。