Android 使ViewPager.setVisibility(GONE)在暂停时触发onDestroyView回调

Android 使ViewPager.setVisibility(GONE)在暂停时触发onDestroyView回调,android,android-layout,android-fragments,Android,Android Layout,Android Fragments,我想在特定情况下显示和隐藏ViewPager,但是这个ViewPager元素包含了很多应该回收的位图。当我在VierPager上设置可见性(GONE)时,它不会触发任何与其“页面”相关的回调 是否有任何系统方法告诉ViewPager销毁其承载的所有页面的视图?我想我可以说: foreach(page from viewPagerPages) { page.onPause(); page.onStop(); page.onDestroyView(); } 但我不确定 谢谢

我想在特定情况下显示和隐藏ViewPager,但是这个ViewPager元素包含了很多应该回收的位图。当我在VierPager上设置可见性(GONE)时,它不会触发任何与其“页面”相关的回调

是否有任何系统方法告诉ViewPager销毁其承载的所有页面的视图?我想我可以说:

foreach(page from viewPagerPages) {
    page.onPause();
    page.onStop();
    page.onDestroyView();
}
但我不确定


谢谢。

要销毁
视图
请使用
ViewPager的
方法。它继承自
ViewGroup

removeallview()-调用此方法从视图组中删除所有子视图。


这里有很多不同的操作ViewPager的方法。

uhm,也许吧-但是你对我的假设有什么感觉-有什么影响吗?我的目的不仅是删除视图,而且是回收位图,所以我可能需要对哈希或ArrayList的位图执行.recycle()。你的应用程序崩溃了吗?OutOfMemory异常?在这种情况下,您应该在从寻呼机中删除视图后调用recycle()。我正处于重构阶段,它还没有崩溃。但我的问题是,当系统通常调用这些方法时,调用它们是否安全。在调用onPause和以下方法之前,系统可能会对片段执行其他操作。