9

我正在尝试实施有效加载位图中描述的最佳实践

我遇到了麻烦,因为这条线:

Utils.getExternalCacheDir(context)

DiskLruCache.java内部返回 null,这意味着NullPointerException当我尝试调用 .getPath()

4

2 回答 2

29

尽管NullPointerException 抛出了一些神秘的问题,但实际问题是我的应用程序没有 WRITE_EXTERNAL 权限,因此系统拒绝了我使用 ExternalDir 进行缓存的尝试。SecurityException不幸的是,在有效显示位图中使用的代码中,这种情况发生在足够低的级别上,如果在没有适当许可的情况下尝试写入 SD 卡,异常不会像通常那样指示。

要修复,只需添加以下内容:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

到你的清单。

于 2013-01-18T01:54:57.523 回答
7

如果您在没有任何外部存储的设备或模拟器上运行,也会发生这种情况。

于 2013-01-19T00:25:09.553 回答