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は1年以上経ちますが、まだ答えが見つかりません。誰かが解決策を見つけた場合は、投稿してください。

ありがとうございました。

4

3 に答える 3

-1

うまくいけば、これはあなたを助けるかもしれません。

カメラでキャプチャした画像を/data/data/com.xxx.testlib/images/b22a1a294fd6e5ad3ea3d25b63c4c735.jpgに直接保存しようとしたときにも、同じ例外が発生しました。

次に、最初に画像をカメラが使用するデフォルトの場所に保存し、それを/data/data/com.xxx.testlib/images/b22a1a294fd6e5ad3ea3d25b63c4c735.jpgにコピーしました。

これで、「DRMファイルではなく、正常に開く」がログから削除され、画像が正常に保存されました。

結論:folder:-"/data/data/com.xxx.testlib/"はプライベートであり、アプリケーション内からのみアクセスできます。

于 2013-03-09T06:18:34.937 に答える
-1

多分それは許可エラーです。マニフェストに適切な権限を追加しましたか?

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

于 2014-02-14T10:11:25.227 に答える