2014-12-12 2 views
0

내가 좋아하는 내가 일을 할 수 있도록 아래에 내가에서 이미지 (들)을 가지고 있지 않은 경우디스크에 이미지가있는 HttpPost 요청을 캐시하는 방법은 무엇입니까?

File file = new File(dir, request.name); 
FileOutputStream fos = new FileOutputStream(file); 
ObjectOutputStream oos = new ObjectOutputStream(fos); 
oos.writeObject(request); 
oos.close(); 

모든 것이 잘 작동 디스크에 내 전체 Request 객체를 저장, Serializable를 구현 Request라는 이름의 클래스가 내 의뢰. 이미지를 디스크에서 가져 왔지만 사용자가 이미지를 삭제/이동할 수있는 가능성이 있으므로 경로를 저장하고 싶지 않습니다.

은 내가

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
image = baos.toByteArray(); 

등의 작업을 수행하고 image에서 Stringbyte[] 또는

String temp = Base64.encodeToString(image, Base64.DEFAULT); 

Request를 저장할 수 있다는 것을 알고.

하지만 난 Request에서 각각의 이미지가 필요 의미, 나는 항상 String 또는 byte[]Bitmap 변환해야하기 때문에 그는 몇 초가 걸릴 또는 이상 Request에 얼마나 많은 이미지에 따라 것이 그렇게하여 . 내 이미지를 저장하기 위해 LruCache을 사용하려고 생각했지만 BitmapMultipartEntity에 포함시키는 방법을 알지 못했습니다. 현재 ByteArrayBody을 사용하고 있습니다. 이것을 달성하는 더 좋은 방법이 있는지 확실하지 않은가요?

기본적으로 디스크에 Request의 이미지를 저장하고 나중에 Request을 검색 한 다음 HttpPost ....를 더 빠르게 수행 할 수 있습니다. 뭐하는거야 ByteArrayOutputStream 내 애플 리케이션을 느리게 실행하게

답변

0

당신이 이미지 캐싱 사용을하기 위하여려고하는 경우가

당신이 어떤 문제에 직면하는 경우 알려줘을위한 이미지 캐싱 자르기의 강력한 기능과 더 많은 이동을 가진 Android-Universal-Image-Loader 또는 Picasso.

HApPy Codeng ,, !!

관련 문제