我正在尝试实施有效加载位图中描述的最佳实践
我遇到了麻烦,因为这条线:
Utils.getExternalCacheDir(context)
DiskLruCache.java内部返回 null,这意味着NullPointerException
当我尝试调用 .getPath()
我正在尝试实施有效加载位图中描述的最佳实践
我遇到了麻烦,因为这条线:
Utils.getExternalCacheDir(context)
DiskLruCache.java内部返回 null,这意味着NullPointerException
当我尝试调用 .getPath()
尽管NullPointerException
抛出了一些神秘的问题,但实际问题是我的应用程序没有 WRITE_EXTERNAL 权限,因此系统拒绝了我使用 ExternalDir 进行缓存的尝试。SecurityException
不幸的是,在有效显示位图中使用的代码中,这种情况发生在足够低的级别上,如果在没有适当许可的情况下尝试写入 SD 卡,异常不会像通常那样指示。
要修复,只需添加以下内容:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
到你的清单。
如果您在没有任何外部存储的设备或模拟器上运行,也会发生这种情况。