检测ListView中的“报废”行视图

时间:2013-10-05 08:33:41

标签: android listview android-listview convertview

情况:

我正在开发一款应用程序,它是某种相框应用程序(用户可以选择16帧),其中包括:

  • ViewPager,最多5个ListView。 (屏幕外限制设置为1,因此我们可以假设只有3个ListViews将在内存中)
  • 每个ListView有17种视图类型(16帧+加载视图)

我们都知道Android会将我们的屏幕外行保存为内存中的convertView。所以,在我的情况下,最糟糕的情况是,我最终可能会在我的记忆中找到17个convertViews * 3 ListView = 51个视图(可能更少,也许更多,不重要)。

虽然简单的51视图不会消耗大量内存(我假设)。我的观点都充满了不错的位图,这是一个相当大的内存消耗。

问题:

无论如何,我可以检测到一个视图变为屏幕外(或变为convertView),以便我可以立即释放对其drawable的引用吗?

我的进步:

我一直在查看adt bundle的源代码(Api 16),用于将scrapView放入RecycleBin中的AbsListView,我相信可以在那里进行检测,但这需要我自定义整个类。我的担心是老Api不能支持Api 16内的东西,所以我在这里要求看看是否还有其他更好的选择。

感谢您的时间。

0 个答案:

没有答案