java - NullPointerException:键== null ||值==空

标签 java android nullpointerexception key android-lru-cache

我的应用程序中有一个适配器,它可以扩充帖子并在 ListView 中显示它们。每个帖子都有一张图片,因此使用LruCache来存储图片。

该应用程序完全运行良好,但崩溃了两三次,我无法意识到问题出在哪里。就在上次,我可以从 LogCat 获取此日志:

E/AndroidRuntime(2407): Caused by: java.lang.NullPointerException: key == null || value == null

仅当最近安装应用程序时才会发生崩溃(当我从设备中删除应用程序并再次安装时)!当我第一次打开应用程序并开始快速上下滚动时,有时会崩溃。 (它不会一直发生,它是完全随机的!)

之后,它就不会再崩溃了...:/

我认为这与LruCache和空缓存有关。我看到this question ,但这不是我的问题!我确实在代码中检查了空缓存:

if (MainActivity.thumbnailsCache.get(postID) != null)
        {
            imageViewThumbnail.setImageBitmap(MainActivity.thumbnailsCache.get(postID));
        } else {
            new DownloadAndSetImageTask(thumbnailURL).execute();
        }

有什么建议吗?

PS:我知道我的问题没有足够的细节,但这就是我所掌握的全部信息!

最佳答案

根据LruCache.java line 164LruCache 仅在一种情况下抛出带有该消息的 NullPointerException - 当您尝试使用 null 键或值调用 put 时。

所以我会找出在缓存上调用 put 的位置,看看那里写入了哪些键和值,然后从那里开始。或者,您可以在 LruCache.javaput 方法中放置一个断点,看看会发生什么。

关于java - NullPointerException:键== null ||值==空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32837639/

相关文章:

java - android 从 PreferenceScreen 中的图库中选择图像?

java - 使用 pkill 以编程方式终止使用 Java 的服务 MAC OS X Mountain Lion

android - Android Kitkat中蓝牙HID设备配置文件的实现

android - pgs4a 中的构建错误 - Linux

java - 查找 3D 对象外部的三角形

java - 设置背景颜色异常

java - 将图像添加到自定义 AlertDialog

java - 快速更改Android系统语言

Java 单例空指针异常

使用 ex.getMessage() 打印时,androidHttpTransport.call(...,...) 抛出空异常