13

我正在寻找有关由调用 BitmapFactory.decodeFile 引起的重复日志打印的解决方案。

在我的应用程序中,我有一个ListView每秒被计时器重绘的内容。有ListView一个ImageView从本地存储获取的图像源,(不是来自网络)

图像存储在:

filePath = /data/data/com.xxx.testlib/files/b22a1a294fd6e5ad3ea3d25b63c4c735.jpg

我正在使用以下代码重绘图像,并且工作正常。毫无例外。

try
{
 File filePath = context.getFileStreamPath(imageName);

 if(filePath.exists()){

    bMap = BitmapFactory.decodeFile(filePath.getPath());

 }

}catch (Exception e) 
{

 e.printStackTrace();

}

但是在执行以下行时:

bMap = BitmapFactory.decodeFile(filePath.getPath());

我在日志中打印如下:

03-07 09:55:29.100: I/System.out(32663): Not a DRM File, opening notmally
03-07 09:55:29.105: I/System.out(32663): buffer returned 
....

我怎样才能从打印读取到日志。

谢谢你

编辑

每当执行此操作时,它也会滞后于手机。这种性能下降特别明显,尤其是当手机处于运行状态Waked up并且我们使用此代码返回活动时。

OP已经一年多了,仍然没有找到答案。如果有人找到解决方案,请发布。

谢谢你。

4

3 回答 3

2

DRM 代表数字版权管理。它通常是内容所有者使用的特殊密钥,以确保您的设备有权查看/播放内容。iTunes 多年来一直因此而臭名昭著。

它所做的只是让您知道您正在打开的资料不受 DRM 保护,因此可以正常打开。

于 2014-07-26T13:50:50.060 回答
-1

希望,这可能对你有所帮助。

当我尝试将相机捕获的图像直接保存到:/data/data/com.xxx.testlib/images/b22a1a294fd6e5ad3ea3d25b63c4c735.jpg 时,我也遇到了同样的异常。

然后我首先将图像保存到相机使用的默认位置并将其复制到:/data/data/com.xxx.testlib/images/b22a1a294fd6e5ad3ea3d25b63c4c735.jpg。

现在从日志中删除“不是 DRM 文件,正常打开”并成功保存图像。

结论:文件夹:-“/data/data/com.xxx.testlib/”是私有的,只能从应用程序内部访问。

于 2013-03-09T06:18:34.937 回答
-1

可能是权限错误。您是否在 Manifest 中添加了正确的权限?

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

于 2014-02-14T10:11:25.227 回答