2013-12-22 2 views
0

나는 큰 비트 맵을 보여줄 필요가있는 안드로이드 3.0 이상의 응용 프로그램을 가지고 있습니다. 비트 맵은 이미 표시해야하는 크기로 조정됩니다. 이미 매니 페스트 파일에 largeheap=true을 사용했지만 여전히 OutOfMemory 오류가 발생합니다. developer.android의 displaying bitmaps efficiently에서 LRU 캐시를 사용하고 있지 않습니다. 나는 다음과 같은 의심을 품는다.Android 애플리케이션 OutOfMemory. 비트 맵

  1. 오류를 잡아두고 나머지 작업을해야합니까?

  2. bitmap.recycle() 기능을 사용해야합니까? 안드로이드 3.0 이후 메모리가 네이티브로 할당되지 않았으므로이 함수가 네이티브 객체를 해제하므로 bitmap.recycle()을 사용할 필요가 없습니다.

  3. caching bitmaps에서 언급 한대로 LRU 캐시 메커니즘을 사용해야합니까? 내가 캐시에 비트 맵을 저장하는 것처럼 그것은 내 응용 프로그램의 메모리 소비를 증가시키지 않을까요?

  4. LRUcache 메커니즘을 설명하는 비트 맵을 표시하는 적절한 예제 또는 아키텍처가 있습니까? 인터넷에서 모든 이론을 읽는 것은 혼란 스럽습니다.

  5. inBitmap 필드가 BitmapFactory.Options인데도 메모리를 줄이는 데 도움이됩니까?

나는 내 응용 프로그램에 대한 메모리 제약 조건을 가지고 있으므로 가능한 한 적은 메모리로 사용하고 싶습니다. 제발 조언.

답변

0

메모리를 관리하고 품질을 유지하는 가장 좋은 방법은 developer android Displaying Bitmaps Efficiently에서이 기사에 설명되어 있습니다. 희망이 귀하의 검색어에 대한 답변.

+0

나는 언급 된 링크를 읽었습니다. 하지만 거기에 많은 이론이 있기 때문에 나는 5 점 이상으로 혼란 스럽다. –

+0

알아. 그러나 장기적으로 그것은 당신을 도울 것입니다. 나는 또한 같은 문제로 붙어 있었고 그것이 나를 도왔다. 앞으로 더 많은 앱을 제작하게 될 것이며이 지식이 도움이 될 것입니다. 가장 효율적인 방법입니다. 행운을 빕니다. – Prachur