고려 할 때 앱은 무료 힙 확인하고 총 힙 메모리와 비교 등을 추가 모든 가비지 콜렉션주기 후마다 을주는 "OutOfMemoryError가"
DVM은 작은 힙을 할당하여 시작 충돌 그 차이가 너무 작은 경우의 메모리. 따라서 힙은 OS 별 Dalvik VM 요구 사항에 따라 런타임시 증가 또는 감소 할 수 있습니다.
그래서, 사용할 수있는 충분한 메모리가 시스템에 자신의 때 앱이 메모리가 80메가바이트까지 촬영 할 때 충돌되지 않았다.
예이 (가정 64메가바이트은 힙 크기의 하드 제한 없음) 하드 디스크 장치의 힙 크기는 "LargeHeapSize = true"을 사용하여 늘릴 수 있지만 모든 힙 크기는 가비지 수집 프로세스에 소요되는 시간에 직접 비례하므로 앱 성능 측면에서 너무 비쌉니다. (이제 GC는 더 큰 힙 내부에서 더 많은 객체를 트래버스해야 함). 따라서 큰 힙 크기를 위해 무엇이 왜 왜 있는지 정확히 알지 않는 한 큰 "NO, NO"입니다. 따라 어떤 요인 힙 크기
:
힙 크기는 주로 더 해상도에 에 맞게 큰 이미지/비트 맵의 크기를 필요로 사용 있는 장치의 해상도에 따라 달라집니다.(더 많은 픽셀 = 통합하기 위해 더 많은 메모리가 필요합니다)
비록 이것에 대한 어떠한 서면 증거도 얻지 못했습니다. 내에 대한 이해 힙 크기는 또한 RAM 크기에 따라 다릅니다. 이후, 더 큰
RAM의 크기는 사용할 수있는 힙 메모리의 정확한 금액을 알고, ActivityManager을 필요로하는 경우에
멀티 태스킹의 유연성과 을 얻기의 적은
기회를 허용 "OutOfMemoryError를"합니다 .getMemoryClass(). 이 방법을 사용하면 뭐 그게 그렇게 많은 힙 공간을 필요로 큰 힙 크기
에 대한 앱의 힙
ActivityManager.getLargeMemoryClass() 사용할 수 메가 바이트의 수를 나타내는 정수를 반환? –
나는 이것이 니트 피키라는 것을 알고 있지만 사람들이 구체적으로 필요로하는 것에 대해 구체적이지 않을 때 엄청나게 짜증납니다. Nexus One, Nexus S, Galaxy Nexus, Nexus 4, Nexus 7, Nexus 10이 있습니다. 'Nexus'를 사용하고 있다고 말했 으면 'Android'를 사용하고 있다고 말할 수 있습니다. 나는 이것이 7 또는 10이지만 cmon 남자라고 가정하고 있습니다 ... –
http://stackoverflow.com/questions/5350465/android-heap-size-on-different-phones-devices-and-os- 버전 – dongshengcn