如何在Android中停止可运行线程()

生也有涯,知也无涯。这篇文章主要讲述如何在Android中停止可运行线程?相关的知识,希望能为你提供帮助。
我创建了一个runnable线程,以通过在首页中自动循环更改/滑动View Pager的位置。
在我的应用程序中,当单击注销按钮时,我想停止该线程。
我已经尝试过removecallback方法,但该应用有时仍会崩溃。
还有其他解决方案吗?
下面是我的代码:

final Handler offers1Handler = new Handler(); Runnable offers1Runnable; private void setLooping() {offers1Runnable = () -> scrollPager(binding.contentHome.offers1ViewPager); Timer timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { offers1Handler.postDelayed(offers1Runnable, 1000); } },500, 3000); }}private void onLogout(){ offers1Handler.removeCallbacks(offers1Runnable); }

答案如果您想自行取消计时器,则可以使用cancel方法。
Runnable不是线程,它只是运行一个方法。 Timer是线程的一种工具,用于计划任务以供将来在后台线程中执行。如果要取消,则实际上要取消Timer。如文件所述:
如果调用者想快速终止计时器的任务执行线程,则调用者应调用计时器的cancel方法。
【如何在Android中停止可运行线程()】如果调用cancel方法。它的执行线程正常终止,并且无法在其上安排更多任务。

    推荐阅读