2013-09-07 5 views
-2

나는 약 8 장의 사진이 담겨있는 갤러리를 가지고있다. 과부하 힙 (그와 같은 것, 확실하지 않음)으로 인해 충돌을 일으키는 버그가 있기 전에.몇 장의 사진을 앱에 넣을 수 있습니까?

사진 크기가 너무 커서 사진이 너무 작아서 효과가 줄어 들었습니다. 그래서 내 주요 질문은 얼마나 많은 사진을 내 앱에 실제로 넣을 수 있는가입니다.

좀 스크롤 사진 약 5 화면 (활동)가 기대하고 있었는데 나는 그것의 단지 사람이 전환 될 때를 추가하는 방법을 알고 않습니다 또한 다시

충돌가는 경우 내 응용 프로그램을 변경 시작하지 않으 사진을 스크롤하는 것 역시 멋져 보입니다.

+0

:

추가 읽기? – Shrikant

답변

2

모든 것이 사진 관리 방식에 달려 있습니다. 메모리를 저장하고로드 된 이미지의 수를 늘리려면 크기가 조정 된 그림을로드해야합니다.

당신은로드하는 동안 사진을 표본 수 :

BitmapFactory.Options opts = new BitmapFactory.Options(); 
opts.inSampleSize = 2; 
BitmapFactory.decodeResource(res, id, opts); 

이 그것의 1/2이 원래 크기 (서브 샘플링은 두 값의 전원 작동 염두에 두어야)의 사진이 확장로드됩니다. 그림이 표시 될 영역보다 작은 그림을로드하고 ImageView에 그림을 업 스케일 할 수 있습니다.

로드 된 이미지가 여전히 너무 큰 경우 Bitmap.createScaledBitmap()을 사용하여 확대/축소 할 수 있습니다.

사전 Honeycomb Android는 Honeycomb Android 이후처럼 비트 맵을 재활용하지 않습니다. 메모리를 지우려면 비트 맵을 더 이상 사용하지 않는 즉시 Bitmap.recycle()으로 전화해야합니다.

이미지 스크롤의 경우 ViewPager을 사용할 수 있습니다. 첫 번째 질문은 서버 측에서 이미지를 저장하고 응용 프로그램을 통해 액세스 할 때마다하거나 다운로드 SDCARD에 그들을 저장하고이 Viewpager를 확인 않았다 두 번째 문제에 대한 수에 대한 http://developer.android.com/training/displaying-bitmaps/index.html

+0

고마워요. –

1

앱에 포함 할 수있는 사진의 수에는 엄격한 제한이 없습니다. 스톡 갤러리 앱을 예로 들어 보겠습니다. 필자는 상대적으로 밝은 그림을 보는 사람이라고 생각하지만 내 갤러리에는 여전히 수백 개의 이미지가 있습니다. Bitmap best practices을 따르는 경우 메모리 문제가 발생하지 않아야하며 원하는만큼 이미지를 포함 할 수 있어야합니다.

관련 문제