2013-07-23 3 views
3

В моем приложении используется Google Maps V2. Это все прекрасно работает на других устройствах, но когда я открываю карту активности на HTC Wildfire S, через несколько минут навигации карты, я получаю эту ошибку:Google Maps V2 и HTC Wildfire S: ошибка вне памяти

07-23 18:16:08.556: E/AndroidRuntime(3316): FATAL EXCEPTION: vts_com.fedrasoft.craiinforma 
07-23 18:16:08.556: E/AndroidRuntime(3316): java.lang.OutOfMemoryError: (Heap Size=16071KB, Allocated=11771KB, Bitmap Size=4445KB) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.ap.d.a(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.i.ct.a(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.k.ah.a(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.k.d.a(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.k.g.handleMessage(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at android.os.Handler.dispatchMessage(Handler.java:99) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at android.os.Looper.loop(Looper.java:150) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.k.d.b(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.k.ag.b(Unknown Source) 
07-23 18:16:08.556: E/AndroidRuntime(3316):  at maps.ap.b.run(Unknown Source) 
07-23 18:16:09.427: E/dalvikvm-heap(3316): Out of memory on a 25862-byte allocation. 
07-23 18:16:09.437: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11768KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:09.437: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:10.248: E/dalvikvm-heap(3316): Out of memory on a 25058-byte allocation. 
07-23 18:16:10.258: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11779KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:10.258: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:10.919: E/dalvikvm-heap(3316): Out of memory on a 38575-byte allocation. 
07-23 18:16:10.929: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11789KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:10.929: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:11.659: E/dalvikvm-heap(3316): Out of memory on a 25050-byte allocation. 
07-23 18:16:11.669: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11763KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:11.669: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:12.020: E/dalvikvm-heap(3316): Out of memory on a 25862-byte allocation. 
07-23 18:16:12.030: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11765KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:12.030: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:12.791: E/dalvikvm-heap(3316): Out of memory on a 38575-byte allocation. 
07-23 18:16:12.801: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11774KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:12.801: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:13.681: E/dalvikvm-heap(3316): Out of memory on a 25862-byte allocation. 
07-23 18:16:13.691: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11773KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:13.691: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:14.232: E/dalvikvm-heap(3316): Out of memory on a 25058-byte allocation. 
07-23 18:16:14.242: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11768KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:14.242: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:14.973: E/dalvikvm-heap(3316): Out of memory on a 38575-byte allocation. 
07-23 18:16:14.983: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11781KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:14.983: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 
07-23 18:16:15.333: E/dalvikvm-heap(3316): Out of memory on a 25854-byte allocation. 
07-23 18:16:15.343: E/dalvikvm(3316): Out of memory: Heap Size=16071KB, Allocated=11778KB, Bitmap Size=4445KB, Limit=20480KB 
07-23 18:16:15.343: E/dalvikvm(3316): Extra info: Footprint=16071KB, Allowed Footprint=16071KB, Trimmed=1172KB 

У меня есть несколько сотен маркеров на мой карта, это может насытить память?

+1

Я предполагаю «сотня» маркера может быть причиной этой ошибки. Вы пытались удалить некоторые приложения с телефона и очистить использование ОЗУ? –

+0

@ KunalS.Kushwah Телефон почти «пуст», у него установлено несколько приложений. Я попробую очистить оперативную память перед навигацией по карте, и я дам вам знать. Благодаря! – UmbySlipKnot

+0

Как можно сравнить другие тестовые устройства с точки зрения доступности Ram? Кроме того, если ваш Wildfire все еще работает с запасом, тогда вы, возможно, осознаете, что Sense собирается съесть * некоторые * Ram по сравнению с ванильной версией Gingerbread. – Chilledrat

ответ

1

Я не имею Wildfire S, чтобы проверить, но я думаю, если вы добавите это:

Toast.makeText(this, String.valueOf((Runtime.getRuntime().maxMemory()/1024/1024)), 
     Toast.LENGTH_SHORT).show(); 

где-то в начале вашего приложения и запустить его на устройстве тост покажет 16. Это это максимальная куча, которую ваше приложение может разместить в MB. Возможно, ваши другие тестовые устройства имеют разные пределы. В качестве примера предел моего Desire HD (запуск PACman JellyBean) составляет 48 МБ. Для AVD это ограничение может быть установлено как часть конфигурации. В некоторых случаях можно переопределить этот предел, и How to increase heap size of an android application? дает некоторую хорошую информацию.

Нужно ли вам такое количество Рам и другое, это еще один вопрос и то, о чем мы не можем рассуждать без дополнительной информации о коде и дизайне. Тем не менее, посмотрите на недавний вопрос android maps, markers and memory leaks.

Наконец, если все это ново для вас, то он по-прежнему стоит смотреть на Google IO 2011 презентации: Memory Management for Android Apps.