Быстрая проверка в куче? - PullRequest
0 голосов
/ 01 июня 2011

У меня рутованный Evo в качестве тестового устройства.Теперь я тестировал свое приложение на нем все время, и в последнее время (относительно) у меня были постоянные утечки памяти или чрезмерное назначение.Поэтому я решил протестировать его на планшете, который у меня на работе.Приложение работает нормально.Даже намека на проблемы с памятью.Поэтому я начинаю задаваться вопросом, был ли размер моего кучи при рутировании моего устройства увеличен?Часть моего подозрения исходит от этой строки, когда приложение падает на моем Evo.Теперь, если этой линии можно доверять, это далеко.Я думал, что куча (как минимум) была 16 МБ --- 24 МБ для моего 2.2 Evo.

dalvikvm  E  Out of memory: Heap Size=4803KB, Allocated=2452KB, Bitmap Size=19002KB

Так что мой вопрос: есть ли способ найти действительный размер кучи на моем телефоне?Любой способ изменить это?

TFYT ~ Aedon

1 Ответ

1 голос
/ 01 июня 2011

Чтобы получить действительную разрешенную кучу на вашем телефоне, вы можете использовать http://developer.android.com/reference/android/app/ActivityManager.html#getMemoryClass(), которая будет возвращать целое число, представляющее количество мегабайт, которое является максимальной кучей на приложение.

И вы не можете изменить это как разработчик приложения (вы можете изменить максимальную кучу устройства, которым вы владеете). Однако, если вы нацелены на API Level 11 (Honeycomb), вы можете поместить android:largeHeap="true" в файл манифеста, а затем вызвать http://developer.android.com/reference/android/app/ActivityManager.html#getLargeMemoryClass(), чтобы получить максимальную кучу на приложение, которая может быть больше, чем обычный размер кучи.

...