Android-universal-image-loader: StorageUtils.getCacheDirectory 中的 java.lang.NullPointerException

创建于 2014-06-20  ·  3评论  ·  资料来源: nostra13/Android-Universal-Image-Loader

你好。 我收到了来自我的用户的错误日志。

java.lang.RuntimeException: Unable to create application my.CustomApplication: java.lang.NullPointerException
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4584)
at android.app.ActivityThread.access$1600(ActivityThread.java:161)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1325)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5356)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException
at android.os.Environment.getStorageState(Environment.java:715)
at android.os.Environment.getExternalStorageState(Environment.java:690)
at com.nostra13.universalimageloader.utils.getCacheDirectory(SourceFile:68)
at my.CustomApplication.onCreate(SourceFile:97)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1025)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4581)
... 10 more

设备规格:
型号 SCH-I545
安卓 4.2.2

我的线路 №97

File cacheDir = StorageUtils.getCacheDirectory(getApplicationContext());

最有用的评论

我有来自用户(设备:Samsung GT-I9300,Android 4.3),UIL v 1.9.1 的类似报告。
堆栈跟踪中最有趣的部分:

at android.os.Environment.getExternalStorageState(Environment.java:598)
at com.nostra13.universalimageloader.utils.StorageUtils.java.io.File getCacheDirectory(android.content.Context,boolean)(SourceFile:68)
at com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder.com.nostra13.universalimageloader.core.ImageLoaderConfiguration build()(SourceFile:545)

在 GrepCode 上挖掘了
如果在第 66-69 行抛出异常或StorageManager#getPrimaryVolume()返回 null,它似乎可以产生 NPE。
肮脏的解决方法是捕获 NPE 并假设外部存储在抛出时未安装。

所有3条评论

你好。 哪个UIL版本?

我正在使用资源。 我的子模块 Android-Universal-Image-Loader 链接到cfd8fa982243

我有来自用户(设备:Samsung GT-I9300,Android 4.3),UIL v 1.9.1 的类似报告。
堆栈跟踪中最有趣的部分:

at android.os.Environment.getExternalStorageState(Environment.java:598)
at com.nostra13.universalimageloader.utils.StorageUtils.java.io.File getCacheDirectory(android.content.Context,boolean)(SourceFile:68)
at com.nostra13.universalimageloader.core.ImageLoaderConfiguration$Builder.com.nostra13.universalimageloader.core.ImageLoaderConfiguration build()(SourceFile:545)

在 GrepCode 上挖掘了
如果在第 66-69 行抛出异常或StorageManager#getPrimaryVolume()返回 null,它似乎可以产生 NPE。
肮脏的解决方法是捕获 NPE 并假设外部存储在抛出时未安装。

此页面是否有帮助?
0 / 5 - 0 等级