Blankj / Blankj/AndroidUtilCode

ThreadUtils 中定时器泄漏

Open
#1,646 4 comments 0 reactions 1 assignee Claimed by @Blankj View on GitHub
bug
Dominant language
Java
Stars
33.6k
Forks
10.6k
PR merge metrics
No merged PRs in 30d

Description

## 描述 Bug

简洁地描述下 Bug。

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

## 相关代码
loopTvTask = new ThreadUtils.SimpleTask() {
@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](https://user-images.githubusercontent.com/12553171/168758305-bf40cfb1-fbcc-4f43-869e-49a7f96f50bf.jpg)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.