【问题标题】:Android LruCache in Android 1.6+Android 1.6+ 中的 Android LruCache
【发布时间】:2012-05-09 09:58:57
【问题描述】:

我需要在 Android 1.6+ 中使用 LruCache(来自 Android 3.1 的 api)

我使用支持 LruCache 的 Android Support Library v4(根据本手册http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html#memory-cache) 但问题是我一直得到 NoClassDefNotFoundError 。我在我的项目中包含了 support.v4 库(在其他活动中我使用 ViewPager...)

有人知道为什么会这样吗?

【问题讨论】:

    标签: android memorycache


    【解决方案1】:

    您需要使用android.support.v4.util.LruCache<K, V> 而不是android.util.LruCache<K, V>,因为第二个仅存在于 API >= 12 的 android 上...检查是否从支持库而不是从 SDK 导入了...

    【讨论】:

    • 怎么说,是的,我包括 support.v4,而不是 util。无论如何,问题也发生在我的带有 Android 4.0.4 的 Galaxy Nexus 中:S 我找到的唯一解决方案是从支持库的代码中获取 LruCache.java 并将其直接放入我的项目中
    【解决方案2】:

    为了避免这个问题,我在自己的项目中包含了 LruClass.java,并且 NoClassDefNotFoundError 不再出现

    LruClass.java 位于:

    Android sdk 位置 /extras/android/support/v4/src/java/android/support/v4/util/LruCache.java

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-07
      • 1970-01-01
      • 2012-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-04
      • 1970-01-01
      相关资源
      最近更新 更多