2012-09-28 2 views
0

MediaStore에서 반환 된 미디어 축소판을 사용하여 효과적인 작업 방법을 찾으려고합니다. 실제로는 두 가지 종류의 미리보기 이미지가 있습니다 : MICRO_KIND은 정사각형이며 96x96 크기는 장치 또는 플랫폼과 별개입니다. 가로 이미지의 경우 약 512x384이고 장치 및 플랫폼 독립적 인 세로 이미지의 경우 약 288x512 인 MINI_KIND입니다. 자, 내가 비동기 Bitmap로드, 재활용 및 캐싱에 대한 모든 모범 사례를 사용하고 실제로 내 응용 프로그램은 단지 MICRO_KIND 사용할 때 잘 작동합니다. 어쨌든, 이것은 내가 원하는 것, 특히 그러한 작은 이미지가 약해 보이는 태블릿의 경우에는 아닙니다. MINI_KIND을 사용해 보았지만, 메모리 제한을 꽤 빨리 초과했습니다. 구현을 신경 쓰지 마십시오. 또 다른 문제는 세로 이미지에 세로 축소판이 있고 사각형이 모두 필요하다는 것입니다. 나는 자르기 시도하고 가로 세로 비율을 유지 Bitmaps 크기 조정을 계속하지만 그것은 더 많은 두통을 준다. 왜냐하면 Bitmap 복사본이 생성되고 난 항상 Bitmap.recycle() 메서드를 사용하고있어 걱정하지 않기 때문에 OutOfMemory은 반복적으로 나를 죽인다. . MediaStore에서 쿼리 한 것을 사용하여 엄밀히 지정된 크기와 방향의 축소판을 만드는 우아하고 메모리 효율적인 방법을 찾고 있습니다. 어떤 도움이나 참고 자료라도 높이 평가할 것입니다.미디어 축소판 작업시 메모리 문제가 발생했습니다.

+0

메모리 누수가있을 수 있습니다. [MAT] (http://www.eclipse.org/mat/)로 코드를 확인하십시오. – Shrikant

+0

@Shrikant, 고마워, 그 시도합니다. – Egor

답변

2

조경에서부터 재활용까지 모든 것을 사용했지만 지금은 WeakReferences으로 시도해보십시오.

이 또한 도움이되지 않으면 코드에 메모리 누수가있을 수 있습니다. 내가 언급 한 모든 방법과 시도, bitmap size exceeds Vm budget error android

그것의 일반적인 답 :

이 같은 문제에 대한 내 대답을 참조하십시오. 그들 중 하나가 당신을 위해 일해야합니다 :)

고마워요.

+0

참고해 주셔서 감사합니다. – Egor

관련 문제