Articles of мусора

Почему Android-мусор собирает много раз с помощью Jacksons ObjectMapper?

У моего Android-приложения есть пользовательская AsyncTask, чтобы сделать вызов для отдыха для списка объектов. Я использую Jackson для преобразования моего ответа в Java, и я вижу около 30 вызовов коллекции мусора при сопоставлении Json через ObjectMapper.readValue (). Интересно, что если я сделаю тот же звонок второй, третий, четвертый раз (выбрав кнопку обновления), будет только один […]

LibGdx GC_Concurrent running

У меня есть игра, но она заикается случайным образом. Это заставляет меня думать, что GC работает. После просмотра кода я вижу много сообщений GC_CONCURRENT, например 4-5 секунд. 12-04 22:14:22.018: D/dalvikvm(4757): GC_CONCURRENT freed 510K, 7% free 10139K/10823K, paused 4ms+6ms 12-04 22:14:22.288: D/dalvikvm(4757): GC_CONCURRENT freed 497K, 7% free 10139K/10823K, paused 3ms+7ms 12-04 22:14:22.558: D/dalvikvm(4757): GC_CONCURRENT freed 497K, […]

Android Multithreading – WaitForGcToComplete после отправки приложения в фоновый режим

Я использую Android L для некоторых многопоточных операций, используя несколько ThreadPoolExecutors для запуска очередей AsyncTasks. Когда мое приложение выходит на задний план, я начинаю видеть многочисленные журналы для … I/art: WaitForGcToComplete blocked for ##.#####ms for cause XXXXX … со случайными … I/art: No such thread id for suspend: ### . Кажется очевидным, что что-то происходит, […]

Может ли сборщик мусора отменить выделение одного экземпляра? (И почему и как его избежать)

В Android у меня есть одноэлементный класс, но я не уверен, может ли сборщик мусора освободить его. Если сборщик мусора освободит мой класс singleton, как можно избежать его освобождения?

Как остановить чрезмерное создание объектов на телефонах Samsung?

У меня проблемы с анимацией, замедляющейся на многих телефонах Android от Samsung. Я проследил проблему, и это слишком много сбора мусора. Однако ни один из объектов не создается непосредственно моим кодом. Это трассировка стека из Allocation Tracker в DDMS. at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:493) at com.samsung.android.multiwindow.MultiWindowStyle$1.createFromParcel(MultiWindowStyle.java:491) at com.samsung.android.multiwindow.IMultiWindowFacade$Stub$Proxy.getMultiWindowStyle(IMultiWindowFacade.java:499) at com.samsung.android.multiwindow.MultiWindowFacade.getMultiWindowStyle(MultiWindowFacade.java:81) at android.app.Activity.getMultiWindowStyle(Activity.java:4681) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1688) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1264) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6614) […]

Лучше ли использовать несколько SpanObjects или несколько TextViews в Android?

У меня есть ListView , у которого есть TextView и в каждом TextView несколько элементов, каждое из которых содержит краткое описание. Чтобы применять разные стили к элементам и описанию, я использую объекты с множественным диапазоном: ClickableSpan , ForegroundColorSpan , BackgroundColorSpan , AbsoluteSizeSpan и StyleSpan . В среднем ListView имеет 10 TextView s, и каждый TextView […]

Влияние «instanceof» в коде Android Java

Связано ли ключевое слово instanceof с этим относительно тяжелым воздействием на платформу Android (и, что более конкретно, на мобильные телефоны, работающие на Dalvik VM?

Почему TypedArray следует перерабатывать?

Этот ответ говорит мне, что вызов метода recycle() TypedArray позволяет собирать мусор. Мой вопрос в том, почему TypedArray определенно нужен метод для сбора мусора? Почему он не может просто ждать сбора мусора, как обычный объект?

Возможно ли для Android VM собирать статические переменные без уничтожения всего приложения Android?

(Название вводит в заблуждение, поскольку сборщики мусора собирают только объекты, но я нашел этот заголовок более простым) Предположим, у меня есть приложение Android со статической переменной с именем «userid» внутри класса Global (которое равно нулю при инициализации). Если я установил переменную «userid» на какое-то значение, определяющее жизненный цикл приложения Android, скажем Global.userid = «myid», возможно […]

SoftReference получает слишком ранний сбор мусора

Я нахожусь на пути к реализации механизма кэширования для моего приложения Android. Я использую SoftReference , как и многие примеры, которые я нашел. Проблема в том, что при прокрутке вверх или вниз в моем ListView большая часть изображений уже очищается. В LogCat я вижу, что мое приложение собирает мусор каждый раз, когда приложение загружает новые […]