Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NullPointerException:key==null | | value==null_Java_Android_Nullpointerexception_Key_Android Lru Cache - Fatal编程技术网

Java NullPointerException:key==null | | value==null

Java NullPointerException:key==null | | value==null,java,android,nullpointerexception,key,android-lru-cache,Java,Android,Nullpointerexception,Key,Android Lru Cache,我的应用程序中有一个适配器,可以将帖子充气并显示在列表视图中。每个帖子都有一个图像,因此它使用LruCache来存储图像 这个应用程序运行完全正常,但它崩溃了两三次,我不知道问题出在哪里。只有最后一次,我才能从LogCat获得此日志: E/AndroidRuntime(2407):由以下原因引起:java.lang.NullPointerException:key ==null | |值==null 只有在最近安装应用程序时才会发生崩溃(当我从设备中删除应用程序并再次安装时)!当我第一次打开应用

我的应用程序中有一个适配器,可以将帖子充气并显示在
列表视图中。每个帖子都有一个图像,因此它使用
LruCache
来存储图像

这个应用程序运行完全正常,但它崩溃了两三次,我不知道问题出在哪里。只有最后一次,我才能从LogCat获得此日志:

E/AndroidRuntime(2407):由以下原因引起:java.lang.NullPointerException:key ==null | |值==null

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

在那之后,它再也不会崩溃了…:/

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

if (MainActivity.thumbnailsCache.get(postID) != null)
        {
            imageViewThumbnail.setImageBitmap(MainActivity.thumbnailsCache.get(postID));
        } else {
            new DownloadAndSetImageTask(thumbnailURL).execute();
        }
有什么建议吗


注:我知道我的问题没有足够的细节,但这就是我所有的信息

在这里,我想您是在自己管理缓存,我建议使用毕加索而不是使用任何,这将自动管理网络操作和缓存,您只需编写一行代码,您的随机崩溃将不再发生

这里是链接

根据,
LruCache
仅在一种情况下抛出带有该消息的
NullPointerException
——当您尝试使用null键或值调用
put

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

这可能与