5

나는 범용 앱을 만들고있다. 한 화면에서는 this 컨트롤을 사용하여 그리드에 6 개의 이미지 (png 형식)를 표시합니다. 또한이 화면은 세로 및 가로 방향을 모두 지원합니다.이미지가 너무 많아서 앱 크기가 너무 크다.

모든 iDevice에 대해 서로 다른 해상도로 이미지 세트를 만들고 다음과 같이 올바른 이름 지정 규칙을 사용하여 이름을 지정했습니다.

  • [email protected]~ipad.png에게
  • 이름-568h의 @ 2 배 ~ 아이폰을 ipad.png
  • [email protected]~iphone.png
  • 이름 ~을 iphone.png

    • 이름 ~. png (iPhone 5)

    나는이 두 이미지의 다른 세트를 만들어야했습니다. 왜냐하면 풍경에서 스트레치가 생기기 때문에 위의 이미지와 같은 이미지를 사용할 수 없기 때문입니다.

    이제 한 화면에 약 60 개의 이미지가 있으며 앱의 무게는 약 40MB에 이릅니다. 이것이 받아 들일 수없는 것은 아닙니다.

    제 질문은이 모든 크기/장치 및 방향에 대해 별도의 이미지를 만들어야합니까? 망막 디스플레이 용 세트를 만들 수 없으며 일반 디스플레이 용으로 축소 할 수 있습니까? 그럴 수 없다면 이미지 크기를 줄이는 방법이 있습니까?

    감사합니다.

  • +0

    동일한 문제가 발생했습니다 ... –

    +4

    PNG 이미지 크기를 줄이려면 http://tinypng.org/을 시도해보십시오. – Amar

    +0

    @Amar Thanks. 나는 현재 두 번째 옵션으로 이미지 축소를 유지하고 있습니다. 너무 많은 이미지가 만들어지기 때문에 지루한 작업입니다.그래서 그것을 줄이는 방법이 있다면, 나는 위대 할 것입니다. 그렇지 않다면, 나는 압축 방법으로 돌아 가야 할 것이다. :) – Isuru

    답변

    2

    어려운 일은 아니지만 적어도 다른 요소와 균형을 유지하거나 균형을 유지해야합니다. 주요 문제는 메모리 (RAM) 문제와 관련이 없으며 크기가 큰 이미지는 메모리 공간이 많고 해상도가 낮은 장치는 망막보다 메모리가 적습니다. 따라서 축소하는 것이 최선의 선택은 아닙니다.
    가능한 해결책은 "큰"이미지 하나를 가져 와서 다른 이미지의 크기를 조정할 수도 있습니다. Core Graphics 또는 ImageIO를 사용하여 이미지를 다시 그릴 필요가 있으므로이 라이브러리는 유용 할 수 있습니다 NYXImagesKit. 물론 가격이 지불 :

    1. 소스 컴퓨팅 시간을 필요로 "큰 이미지"당신이 할 수있는 메모리 부족에 있다면, 계산을 수행하는 적어도 한 번 열려 있어야합니다 문제가 있습니다.

    GUI 요소뿐만 아니라 PDF vect 이미지도 사용할 수 있습니다. 흥미로운 기사를 찾을 수 있습니다 here by Matt Gemmel
    이미지가 알파 채널을 사용하지 않는 경우 jpg !!!!

    +0

    안녕하세요, Andrea, 답변 주셔서 감사합니다. 그냥 테스트하기 위해, 나는 망막 디스플레이 용으로 만든 일련의 이미지를 사용하여 망막과 정상 디스플레이 모두에서 실행했습니다. 정상적인 화면에서는 망막 이미지를 사용하는데 아무런 문제 나 변화가 보이지 않습니다. iPhone 에뮬레이터의 차이를 감지하기가 어렵습니까? 실제 장치에서 테스트해야합니까? – Isuru

    +0

    글쎄, 거기에 눈에 띄는 변경 사항이 있습니다, 만약 당신이 이미지를 다시 그려하지 않고 각 해상도에 대해 한 종류의 이미지를 제공하면 이미지가 단순히 strecthed 있습니다. 시뮬레이터는 Mac의 하드웨어와 동일하므로 메모리 문제도 알 수 없습니다. 실제 장치에서 실행되는 문제가 발생할 수 있습니다. 3g o 3gs의 로딩 망막 이미지가 곧 RAM을 채울 수 있으며 어떤 경우에는 충돌로 이어질 수 있습니다. – Andrea

    +0

    알 수 있습니다. 모든 정보 주셔서 감사합니다. :) – Isuru

    3

    비 망막 및 망막 디스플레이 용 이미지를 만들 필요가 없습니다. 가능하다면 JPG 형식으로 만 "망막 이미지"를 사용할 수 있습니다. 작은 크기의 이미지를 표시해야하는 경우 큰 이미지를 축소하려면 "가로 세로 맞춤"을 사용할 수 있습니다. 품질의 절충안이있을 수 있습니다.

    마찬가지로 iPhone 5 이미지의 경우 더 작은 화면에서 원하지 않는 부분을 잘라내려면 clipsToBounds 속성을 사용하여 더 긴 이미지를자를 수 있습니다.