Android JazzyViewPager&x2B;ImageLoading=OutOfMemory

Android JazzyViewPager&x2B;ImageLoading=OutOfMemory,android,android-viewpager,out-of-memory,universal-image-loader,Android,Android Viewpager,Out Of Memory,Universal Image Loader,当我使用JazzyViewPager滚动浏览大约70幅图像时,我的记忆错误消失了 爵士寻呼机的某个地方似乎出现了严重的内存泄漏。我看到,即使当我滚动经过这些图像时,它也会紧紧抓住它们。即使在更强大的设备上,我也会在浏览了70幅左右的图片后内存不足 我正在使用通用图像加载器和这个视图寻呼机,所以不确定这是否与它有任何关系 还有其他人有这个问题吗?JazzyViewPage确实存在漏洞 我运行了一个内存分析器,发现JazzyViewPager维护着所有添加视图的映射: private HashMap

当我使用JazzyViewPager滚动浏览大约70幅图像时,我的记忆错误消失了

爵士寻呼机的某个地方似乎出现了严重的内存泄漏。我看到,即使当我滚动经过这些图像时,它也会紧紧抓住它们。即使在更强大的设备上,我也会在浏览了70幅左右的图片后内存不足

我正在使用通用图像加载器和这个视图寻呼机,所以不确定这是否与它有任何关系


还有其他人有这个问题吗?

JazzyViewPage确实存在漏洞

我运行了一个内存分析器,发现JazzyViewPager维护着所有添加视图的映射:

private HashMap<Integer, Object> mObjs = new LinkedHashMap<Integer, Object>();

public void setObjectForPosition(Object obj, int position) {
    mObjs.put(Integer.valueOf(position), obj);
}
并从我的适配器的
destroyItem()
调用它:


我监控了内存使用情况,现在一切正常。

非常努力!!谢谢你也解决了我的问题
public void removeObject(int position) {
    Object removed = mObjs.remove(position);
    if (removed != null) {
        LogUtils.LOGD(TAG, "Removed obj at pos " + position);
    }
}
@Override
public void destroyItem(ViewGroup container, int position, Object obj) {
    container.removeView(((JazzyViewPager)container).findViewFromObject(position));

    // make sure to remove the reference from the jazzyviewpager map
    ((JazzyViewPager)container).removeObject(position);
}