gpt4 book ai didi

android - Xamarin Universal Image Loader 内存不足异常

转载 作者:行者123 更新时间:2023-11-29 00:22:53 24 4
gpt4 key购买 nike

我已经成功转换了 Universal Image Loader将其与 xamarin.android 一起使用。一切正常,直到我显示大量图像 - OOM 异常开始出现。我已经尝试了 UIL 站点或 stackoverflow 答案中建议的所有可能的缓存/图像设置组合 - 在我的情况下似乎都不起作用。

我使用 Android Debug Monitor 查看发生了什么。据我所知,存在由 UIL 引起的内存泄漏。我可以这么说,因为如果不使用图像加载器加载位图,就没有泄漏。但我开始认为这种泄漏的原因不是由 UIL 直接引起的,因为无论我选择什么配置它都存在。

所以我的问题是它还能是什么?

最佳答案

所以在调试和谷歌搜索之后我发现 Xamarin Garbage Collection Article .结论是无法释放 UIL 加载的位图(有或没有缓存),因为托管位图 (Mono/.net) 和框架位图 (Java) 实例之间存在关系。为了打破这种关系,我在 IImageLoadingListener 的实现中调用了 OnLoadingComplete 中的 bitmap.Dispose()。

    public void OnLoadingComplete(string p0, View p1, Bitmap p2)
{
var spinner = ((View)p1.Parent).FindViewById<ProgressBar>(Resource.Id.loading);
spinner.Visibility = ViewStates.Gone;
p2.Dispose();
}

关于android - Xamarin Universal Image Loader 内存不足异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895581/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com