最新在项目中出现内存泄露的问题,找半天无法定位问题
无奈只能采用二分法逐个排除,最后定位到com.chanven.lib:cptr 这个库
https://github.com/Chanven/CommonPullToRefresh
PtrFrameLayout 这个类557行代码如下:
int delay = (int)((long)this.mLoadingMinTime - (System.currentTimeMillis() - this.mLoadingStartTime));
if (delay <= 0) {
if (DEBUG) {
PtrCLog.d(this.LOG_TAG, "performRefreshComplete at once");
}
this.performRefreshComplete();
} else {
this.postDelayed(new Runnable() {
public void run() {
PtrFrameLayout.this.performRefreshComplete();
}
}, (long)delay);
if (DEBUG) {
PtrCLog.d(this.LOG_TAG, "performRefreshComplete after delay: %s", new Object[]{delay});
}
}
如果在ptrFrameLayout 没有加载的情况下调用 refreshComplete方法,则会出现delay值极大的情况
这个库竟然还有1000多个star,不知道这些人是否遇到了同样的问题。
引库有风险,
使用需谨慎。