AndroidUtilCode icon indicating copy to clipboard operation
AndroidUtilCode copied to clipboard

ThreadUtils 中定时器泄漏

Open Dreamxhx opened this issue 2 years ago • 4 comments

描述 Bug

简洁地描述下 Bug。

  • AndroidUtilCode 的版本:最新
  • 出现 Bug 的设备型号:IQOO Z5
  • 设备的 Android 版本:安卓11

相关代码

    loopTvTask = new ThreadUtils.SimpleTask<Object>() {
        @Override
        public Object doInBackground() throws Throwable {
            return null;
        }

        @Override
        public void onSuccess(Object result) {
            presenter.getTvLoopList(getActivity(), tvLoopView.getTimestampStr());
        }
    };
    ThreadUtils.executeByCachedAtFixRate(loopTvTask, 60, TimeUnit.SECONDS);

@Override public void onDestroy() { if (loopTvTask != null) { ThreadUtils.cancel(loopTvTask); loopTvTask = null; ThreadUtils.cancel(ThreadUtils.getCachedPool()); } super.onDestroy(); }

异常堆栈

无论怎么取消Task,销毁activity的时候,就会报泄漏

截图

Screenshot_20220517_154605

Dreamxhx avatar May 17 '22 07:05 Dreamxhx

你的写法有问题,和ThreadUtils无关

tanranran avatar May 19 '22 06:05 tanranran

你的写法有问题,和ThreadUtils无关

那我要怎么写才是正确的呢? 我需要定时去执行一个任务,然后我页面退出了要怎么暂停这个任务不继续执行呢?

Dreamxhx avatar May 20 '22 02:05 Dreamxhx

@tanranran

Dreamxhx avatar May 24 '22 12:05 Dreamxhx

楼主解决了没,同样遇到这个问题了 @Dreamxhx

wuconghui avatar Jul 27 '22 02:07 wuconghui