【问题标题】:Android gallery of drawables可绘制的 Android 库
【发布时间】:2012-07-30 15:02:07
【问题描述】:

我正在创建一个简单的 Gallery 可绘制对象 - 每个对象几乎都有屏幕大小,因此它们需要相当多的内存。对于每个条目,我正在创建一个自定义LinearLayout,标题为ImageViewTextView。正如你们大多数人所知,android Gallery 不会回收视图,因此它的库在低内存手机上很容易崩溃(在我的情况下,在 16mb 内存限制上加载 4 个可绘制对象之后)。

这是一个简单的问题 - 你如何实现这样的画廊,所以它不会耗尽内存?你如何回收这些图像?一个工作代码示例会很棒。

几点说明:

  • inSampleSize 不可行,我无法缩小这些图像

  • 在从资源加载的 Drawable 上调用 recycle() 是不可能的,因为它会在 Android 4.0+ 上崩溃(它会在其内部缓存中回收 drawable)

  • 不要让我发布代码,因为没有。

【问题讨论】:

    标签: android image gallery out-of-memory recycle


    【解决方案1】:

    您不应该使用图库,因为它已被弃用。特别是因为到目前为止还没有编写任何代码。文档建议使用 Horizo​​ntalScrollView 或 ViewPager。

    我觉得 ViewPager 是您正在寻找的,因为它最多只能在内存中保留 3 张图片并为​​您处理所有回收。这是一篇关于如何实现android viewPager implementation的更多信息的帖子@

    【讨论】:

    • 感谢您的回答。 ViewPager 对我不起作用,因为我也需要部分邻居图像可见。我想我只需要使用 Horizo​​ntalScrollView。
    • 啊。是的。我会查看 4.0 中引入的 People 应用程序的代码。当您查看 ContactDetails 时,您可以在右侧看到他们的一些状态,然后当您滑动时,它会滚动并捕捉。这是由于 HSV 加上一些捕捉逻辑而失败的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-06
    • 2016-03-08
    • 1970-01-01
    • 2017-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多