Handler内存泄露

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    public void nextPage(View view) {

        Intent intent=new Intent(this,SecondActivity.class);
        startActivity(intent);

    }
}

public class SecondActivity extends AppCompatActivity {


    /***
     *  内存泄露:
     *   Handler中有SecondActivity
     *   Message 中有 Handler
     *   MessageQueue中有 Message
     *   MessageQueue一直都在
     *   Looper从MessageQueue中取出消息
     *   Message处理好了以后,把Message清空,放入MessageQueue中
     *
     */
    Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);

            switch (msg.what) {
                case  1:
                    Intent intent=new Intent(SecondActivity.this,ThreeActivity.class);
                    startActivity(intent);
                    break;
            }

        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
    }

    public void sendHander(View view) {

        Message message=Message.obtain();
        message.what=1;
        handler.sendMessageDelayed(message,5000);
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();

// 移除未处理的消息
      //  handler.removeMessages(1);
// 移除所有未处理的消息
        handler.removeCallbacksAndMessages(null);
    }
}

public class ThreeActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_three);
    }
}

出现问题:在MainActivity中点击startActivity跳入SecondActivity,在SecondActivity中,点击startActivity 3S以后进入ThreeActivity,但是此时在SecondActivity中点击back返回MainActivity,理论上SecondActivity已经被销毁,但是实际不是这样, 返回MainActivity以后还是跳入ThreeActivity

发布了141 篇原创文章 · 获赞 51 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/dreams_deng/article/details/87905508