2011-01-24 4 views
0

Я пишу приложение, отображающее списокView (с изображением и некоторыми текстами). Я написал свой адаптер, я переработал вид и использовал зрителя, все работает хорошо (но не очень гладко).сборщик мусора сборщика андроида

Но, только имея отображаемый список, я вижу в LogCat тысячи и тысячи объектов, освобожденных gc (~ 12000 каждые 3 секунды) Это тоже не очень здорово.

enter image description here

Есть ли способ узнать, что это класс самого gced объекта или какой-то из бревен (или статистики) в дс? Для меня, чтобы понять, почему мое приложение рассылает новые объекты, которые сразу же появляются?

ответ

1

Как я до сих пор не могу комментировать, я добавляю новый ответ :-( Все зависит от того, что вы делаете внутри своего адаптера. Вы пишете у вас данные XML. Вы анализируете внутри? DOM-классы производят невероятные суммы (и медленны, как черт) .Если вам нужно проанализировать DOM, сделайте это за пределами адаптера и/или выполните кеширование результатов. Кроме того, любое перечисление, которое вы делаете (например: for (String x : xarray)), производит много мусора. То же самое для строковых операций (рассмотрите возможность использования StringBuilder). Попытайтесь не использовать функционально-локальные переменные, поместите их в более глобальную область (если нет, ее мусор). Вы показываете растровые изображения? Вы создаете объекты Bitmap внутри адаптера и затем назначаете ImageView? Медленно и много мусора тоже.

Я предполагаю, что это все распространенные мусорные и медленные подводные камни. Кто угодно? ;)

С уважением, Оливер

1

Обычно это происходит, если вы загружаете данные - своим приложением или любым другим приложением. Если нет, вам нужно предоставить код, который работает, чтобы мы могли посмотреть.

Кстати, сделайте что-нибудь о своем нулевом принятии.

+0

да все Отображаемые данные загружены. My ArrayAdapter работает из списка , который построен из XML-файла, который я получаю. Но я уверен, что URL-адрес xml получает только один раз и тот же для кэшированного изображения. – jpprade

Смежные вопросы