请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于Looper退出问题

new Thread(new Runnable() {
@Override
public void run() {
Log.e(“qdx”, "step 0 ");
Looper.prepare();

            Toast.makeText(MainActivity.this, "run on Thread", Toast.LENGTH_SHORT).show();

            Log.e("qdx", "step 1 ");
            Looper.loop();
            try {
                Thread.sleep(3000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Looper.myLooper().quit();
            Log.e("qdx", "step 2 ");
        }
    }).start();
    老师请教下我Looper.myLooper().quit();退出loop循环, Log.e("qdx", "step 2 ");这段log没打出来

正在回答 回答被采纳积分+3

2回答

提问者 用户1148542 2019-07-16 06:04:50

如何让looper退出呢

0 回复 有任何疑惑可以回复我~
  • 在别的线程调用quit
    回复 有任何疑惑可以回复我~ 2019-07-16 06:06:01
  • 提问者 用户1148542 回复 bennyhuo #2
    o,谢谢老师
    回复 有任何疑惑可以回复我~ 2019-07-16 06:22:37
  • 提问者 用户1148542 #3
    我在别的线程中调用
            Looper.myLooper().quit();
    退出的直接是主线程 app退出了
    回复 有任何疑惑可以回复我~ 2019-07-16 06:30:42
bennyhuo 2019-07-16 06:02:10

因为loop函数是阻塞的,里面是个死循环,因此根本不会往下执行的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信