현재 웹페이지는 PHP 로 구현해 놓았고 어플로도 볼수 있게 만들어 놓았습니다

사용자들의 사진을 띄우는데 거기서 문제가 생기네요.

 

웹 처음 개발했을때 암 생각없이 했는데...

어플로 그 사진들을 보니까 out of memory가 발생해 버리더군요 (한장이 아니라 여러장을 한꺼번에 띄웁니다)

그래서 일괄적으로 100k 이하로 다 줄여 버렸습니다.

그렇게 하고 나니 웹에서 이미지가 너무 화질이 나빠져 버렸습니다.

 

1. 제가 원하는건 웹에서 저장되는거 1M정도까지는 저장되게 하고

  안드로이드에서 받아올떄 줄여서 받아오고 싶은데 가능할까요?

 웹페이지에도 고화질로 보이고 받아올떄는 아싸리 줄여서 받아와서 앱에서도 잘보이게 만들고 싶습니다.

  받아온다음에 bitmapfactory를 써서 줄이는건 이미 받아온 후라서 어차피 out of memory 발생하더라오요

  안도르이드에서 이미지 받아오는건 그냥 URL 연결입니다.

 

 public String getDownloadFromUrl("String fileName) throws Exception {

  File file = new File(CACHE_FOLDER);

  if (!file.isDirectory()) {// 캐시 디렉토리가 없으면 만들기
   file.mkdir();
  }

  URL url = new URL("mainURL + fileName);
  InputStream input = null;
  int count = 0;

  input = new BufferedInputStream(url.openStream(), 8192);

  String tempS = fileName.substring(10, fileName.length());
  OutputStream output = new FileOutputStream(CACHE_FOLDER + tempS);
  byte data[] = new byte[1024];
  while ((count = input.read(data)) != -1) {
   output.write(data, 0, count);
  }

  output.flush();
  output.close();
  input.close();
  return CACHE_FOLDER + tempS;// 패스 리턴
 }

 

 

2. 아니면 혹시 저장할때 아싸리 웹용/모바일용 이미지를 나눠서 저장시키시나요???