我正在构建一个带有选项卡导航的 Android 应用程序。每个选项卡都有自己的后退堆栈,并在用户浏览应用程序时将片段加载到后退堆栈中。
问题在于,当我在片段之间导航时(使用
我想在替换片段时释放图片的内存,并在再次访问时恢复状态。我考虑以下几种方法来解决此问题:
问题在于,当我在片段之间导航时(使用
FragmentTransaction
的 replace 方法),Picasso 加载图像的 imageView
也会保留其状态。这最终会导致 OOM 错误。我想在替换片段时释放图片的内存,并在再次访问时恢复状态。我考虑以下几种方法来解决此问题:
- 释放适配器(
ListAdapter
、FragmentAdapter
等)所使用的内存(大多数图像是这些适配器中项目的展示) - 调用
adapter.clear()
清除片段的内容。 - 仅清除
ImageViews
的内容(如果可能的话...)