本文共 726 字,大约阅读时间需要 2 分钟。
最新在项目中出现内存泄露的问题,找半天无法定位问题
无奈只能采用二分法逐个排除,最后定位到com.chanven.lib:cptr 这个库
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,不知道这些人是否遇到了同样的问题。
引库有风险,
使用需谨慎。
转载地址:http://ezgwn.baihongyu.com/