我有一个活动,它可以在带有滑动的ImageView中加载图片。这里是我的滑翔代码示例: Glide.with(ImageVOne.getContext()) .load(geoInfo.getPhotoUrl1()) .skipMemoryCache(真) .priority(Priority.NORMAL) .into(ImageVOne) ; 我从1到35张图片加载,每张图片应在150ko & 250ko之间。我无法减少这一点。Android内存泄漏滑行
此活动可以在主要活动的会话中多次访问,并且每次加载不同的图片。例如在第一时间将是华盛顿的照片,那么伦敦的图片等
我的问题是,使用的内存增加了不少每一个加载图片的活动开始时间:
我可以从3到5次启动活动,然后应用程序崩溃。该错误消息是 java.lang.OutOfMemoryError:无法分配与1126320个免费字节,1099KB一个1411340字节分配,直到OOM
我读posts about memory leaks但我认为滑翔会避免这个问题。我的照片活动在另一张照片开始之前完成,但分配给我的应用的内存似乎没有下降。 我还在Manifest中对我的图片活动添加了android:noHistory =“true”,但它不会改变任何内容。
我在我的Manifest中添加了android:largeHeap =“true”,但它只是推迟了我的问题(我可以启动约10到15次的图片活动),并且在应用前我的图片查看中有很多照片未加载崩溃,所以它不是一个很好的解决方案。
我也尝试添加.skipMemoryCache(真),当我使用滑翔,但我没有注意到任何改变。
我想我的“内存使用”应该减少每次我从图片活动主要活动,然后增加,当我开始我的图片活动再次与新的图片。但从我在蓝色图表上看到的情况几乎只会增加。你看到我该怎么办?
谢谢
亚历
ü完成活动每次回压所使用的生命周期? –
您是否尝试从活动上下文中调用滑动,而不是图像上下文?我最好的猜测是,没有什么可以被GC'd,因为Glide以某种方式持有对图像的引用。将Glide.with(ImageVOne.getContext())更改为Glide.with(this)(这指的是ActivityB) – NSimon
@ Alex9494您可以检查我的答案,这可能会有所帮助。 – tahsinRupam