StringBuilder.append()
을 사용하여 4MB보다 큰 String
을 만들려고 할 때 OutOfMemoryError가 발생합니다.Android 2.3 (진저 브레드)에서 힙 크기를 늘리는 방법은 무엇입니까?
내가 아는 한 StringBuilder
에는 크기에 대한 제한이 없으므로 String
이 아닙니다.
그래서 내가 "어떻게 안드로이드 힙 크기를 증가시키는"와 지금까지의 내가 this answer 및 this answer에서 결론을 내릴 수 있기 때문에, 진저 브레드는 힙 크기를 다루는 방법이 없습니다있는 유일한 버전은 이전 버전부터입니다 검색 VMRuntime 클래스를 사용하고 매니페스트의 최신 버전 android:largeHeap="true"
을 사용합니다.
해당 가정은 맞습니까? VMRuntime과 android:largeHeap="true"
사이에있을 때 무엇을합니까?
Runtime.getRuntime().totalMemory()/1048576 - Runtime.getRuntime().maxMemory()/1048576
을 사용하여 테스트 (Android 2.3.6)에 사용하는 기기에서 "사용 가능한 42.00MB의 5.00MB를 할당합니다"를 얻었습니다.
나는 이것을 X라고 부른다. Y 문제점 : 메모리를 늘릴 방법을 찾지 않아야한다. 메모리에 4MB 문자열을 작성하는 방법을 찾아야합니다. – zapl
@zapl 레거시 시스템을 다룰 때 선택의 여지가없는 경우가 있습니다. – Michael