android - 如何在 ImageView 过度滚动时从 ImageView 释放图像

标签 android

我有一个存储大量 imageView 的线性布局。当线性布局向下滚动时添加 ImageViews。 但是当我有很多图像时,它会导致 OutOfMemory (OOM) 异常。 我想释放屏幕外的所有图像。 我该怎么做。

谢谢大家,

p/s 对不起我的英语

最佳答案

如果你可以将 ListView/Gallery/GridView 与适配器一起使用,那么 android 将重新使用 ListView 项目的 View ,gc 线程将有机会换出图像

您可以尝试的另一件事是扩展 ImageView 并覆盖 onDetachedFromWindow 方法,当 View 从窗口分离时将调用此方法。在这种方法中,您可能有机会发布图像。

关于android - 如何在 ImageView 过度滚动时从 ImageView 释放图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9663777/

相关文章:

android - 使用 AndroidAsync 库的 TCP 和 UDP 套接字

Android:所有文件都不可读。文件查找器

java - 在应用程序模块中使用库模块的依赖项

java - Bitmap 到 Byte[] 转换的更快方法

android - 升级到Android Studio 4.0后Lombok注释不起作用

android - 从 ArrayAdapter 刷新 ListView

android - java.lang.SecurityException : Permission Denial: getIntentSender() when using UiAutomation in a test 错误

android - 从 gradle CLI 修改运行配置

java - 找不到 Gradle DSL 方法 :'compileOptions()'

android - NullPointerException 在 View.dispatchRestoreInstanceState(View.java :9938) Android 4. 0.3/4.0.4