2010-07-23 3 views
4

졸업 프로젝트의 소프트웨어 팀은 Android에서 프로세스 당 힙 크기를 늘리라고했습니다. 그들은 기본값이 "16MB"로 충분하지 않다고 말했다. 크기는 어떻게 사용자 정의 할 수 있습니까? /acme/my_board/BoardConfig.mk 내 안드로이드 소스 코드 : Android 플랫폼의 맞춤 힙 크기?

나는 파일의 주석 라인을 발견
# USE_CUSTOM_RUNTIME_HEAP_MAX := "64M" 

내가 편집 할 필요가 무엇인가요을 ?? 또한 안드로이드가 자동으로 증가 할 것으로 참고 : 패키지, 사용자 정의 응용 프로그램 개체의에서 onCreate에서 모든 응용 프로그램을 위해 그것을 원한다면,

dalvik.system.VMRuntime.getRuntime().setMinimumHeapSize(yournumberhere); 

편집을 추가

+0

당신이 OS의 사용자 지정 빌드로 변경하려면, 그래서 모든 응용 프로그램의 기본 힙이 아니면 힙 크기를 변경할 수있는 목표이다 특정 응용 프로그램의 런타임에? –

+0

글쎄, 그들 중 누구도 내 문제를 해결할 것입니다. 그러나 두 번째 옵션 인 "특정"은 훨씬 좋습니다. –

+0

이 질문은이 문제에 대해 이전에 질문 한 질문과 관련이 있습니다.이 질문은 여기에서 확인할 수 있습니다. http://stackoverflow.com/questions/3078301/dalvik-memory-allocation-how-to-change-the-default- limits 답변에 따르면 OS 빌드를 변경해야하며 솔루션에 게시 된 지침은 해결책을 찾는 특정 애플리케이션을 찾기 위해 직접 시도하지는 않았지만 수행해야합니다. –

답변

1

나는 당신이 32메가바이트하기 위해 예를 들어 platform/dalvik/vm/Init.c

을 변경할 수 있습니다

안드로이드 플랫폼의 메일 링리스트를 통해 그 해답을 가지고, 당신은

gDvm.heapSizeMax = 32 * 1024 * 1024;

이하로 할 수있다

다른 제안 된 접근 방법은 다음과 같습니다. 최신 상태 system.prop

감사합니다, Muthu Subramaniam

3
활동에에서 onCreate 방법에서

, 또는, 힙 크기가 더 필요한 경우. 따라서 기본값이 16 일지라도 더 많은 것을 필요로한다면 늘릴 것입니다. 그러나 그것은 실시간 상황에서 나빠질 수 있습니다. 그러므로 16 세가 넘을 것이라는 것을 안다면 사전에 그것을하는 것이 좋다.

+2

이것은 응용 프로그램 힙 크기를 늘릴 수있는 지속 가능한 방법이 아니라는 점에 유의해야합니다. http://developer.android.com/reference/dalvik/system/VMRuntime.html ...이 클래스는 더 이상 사용되지 않습니다. 이것은 일반적인 용도로는 적합하지 않은 내부 Dalvik 클래스입니다. 이후 릴리스에서는 공용 API에서 제거됩니다. –