如何有效地回收 Fragments 中的大图像(更准确地说,在ViewPager中)?
在onDestroyView()中,我通过执行 bitmap.recycle() 来回收位图,但首先我将路径存储在onSaveInstanceState中的Bundle中。我阅读了数千个关于未调用 onSaveInstanceState 情况的问题和线程。但是,FragementStatePagerAdapter调用destroyView ()因此它会释放与片段关联的资源。
如果我阻止 FragmentStatePagerAdapter 调用super.destroyView()我将保持 Fragment 的 UI 不变,我知道这一点。
我想要实现的是在片段被销毁时执行.recycle() ,在 onSaveInstanceState 中保存位图的路径,然后在调用onCreateView()时重用该路径来创建新位图,然后将相同的位图放入片段 UI 的ImageView。
在将位图设置为 ImageView 之前,我使用 Google 的指南来有效地加载/采样位图。
任何指针都会很棒!