2013-08-28 2 views
0

온라인 스토어의 모바일 버전을 만들고 있는데 오프라인 일 때 사용할 수있게해야합니다.Android : 많은 사진을 URL에서 저장하십시오.

사진에 문제가 있습니다. 상점에 제품 수가 많아 사진이 많을 수 있습니다.

휴대 전화에 하드웨어 제한 사항이 있다는 것을 고려하여 이미지를 저장하는 방법은 무엇입니까? 내가 원하는 무엇

은 읽기에서 확인 성능을 가능 점유 메모리와 같은

  1. 으로 작다.

  2. 너무 많은 데이터를 다운로드하는 데 다소 시간이 걸릴 수 있으므로 쓰기 속도는 고려해야 할 사항이며 사용자는 기다릴 가치가 없다고 판단 할 수 있습니다 (이는 2 차적인 문제입니다).

답변

3

내가 300 개 이상의 사진을로드 내 응용 프로그램에서 Universal Image Loader 사용을 고려하고 난에서 OutOfMemoryException 오류가 발생하지 않습니다 그러나 라이브러리는 일부 캐시를 그릴 필요가있다. 다음은 GitHub의에 프로젝트 :

https://github.com/thest1/LazyList

+0

에서 다운로드 할 수 있습니다. 메모리 사용량은 사진 당 얼마입니까? 이런 식의 이미지 크기는 다음과 같습니다 (얻을 수 있기를 바랍니다) : final int REQUIRED_SIZE = 250; int width_tmp = o.outWidth, height_tmp = o.outHeight; int scale = 1; while (true) { if (width_tmp/2

+0

괜찮습니다. 내 필요한 크기는 500입니다. :) –

+0

약 10 장의 사진에서 0.75MB의 aprox가 있지만이 점에 대해 걱정하고 있습니다. 이제 문제는 얼마나 많은 공간을 사용해야합니까? 사진이 많을 경우 사진 당 더 적은 양을 사용하도록 할 수 있습니다. –

0

내가 네트워킹 및 이미지 로딩을 처리하기위한 Google Volley을 권장합니다. 구현 세부 사항을 염려하지 않고 네트워크 요구 사항을 모두 충족시킬 수있는 매우 강력하면서도 단순한 인터페이스입니다.

기본 제공 캐싱 레벨은 2 가지이며 언제든지 직접 캐싱 할 수 있습니다.

3

당신은 ..... 게으른 로딩 이미지 aquery 안드로이드 라이브러리를 시도하고 당신이 코드가 도움이 될 수 아래 ... 외부에 저장할 필요가 없습니다 그래서 그 또한 캐시 메모리에 이미지를 저장할 수

AQuery aq = new AQuery(mContext); 
aq.id(R.id.image1).image("http://data.whicdn.com/images/63995806/original.jpg"); 

도서관을 from this link

+0

괜찮 았지만 코드를 보면 캐시에 저장하고 이미지를로드하기 전에 ImageView가 필요하다는 것을 알았습니다. 이 코드를 다른 코드에서 보았습니다. 어떻게하면 캐시에서 이미지를 얻을 수 있습니까? –

+0

웹에서 처음으로 이미지를로드 할 때 진행률 표시로로드하는 데 약간의 시간이 걸릴 것이고로드가 매우 짧은 시간이 지나면 더 나은 성능을 얻을 수 있습니다 ... 주어진 링크는 코드 구현 방법을 도와줍니다. lib.jar를 libs에서 가져오고 몇 줄의 코드를 작성하여 결과를 얻을 수 있습니다. –

관련 문제