Прежде всего, у меня есть простой ListView
. Реализация BaseAdapter
и использование шаблона ViewHolder У меня просто есть TextView
, который при каждом вызове getView()
устанавливает текст с различным String
. Каждая строка имеет различную длину и может разбиваться на несколько строк.
Чрезмерный сбор мусора происходит при прокрутке, это вызвано StaticLayout
, который используется внутри класса TextView
. Он создает float[]
, а затем сборщик мусора собирает их и вызывает заикание в моей ListView
прокрутке. Я пришел к такому выводу после отслеживания прокрутки через Allocation Tracker. Обратите внимание, что чрезмерным является не то, что он собирает огромные куски памяти, а множество маленьких.
Поскольку я сталкиваюсь с этой проблемой, даже когда я упрощаю свой код до основ, я предполагаю, что кто-то сталкивался с этим до меня. Поскольку это системная ошибка, а не то, что я могу обойти, все еще используя TextView
, что вы предлагаете использовать в качестве обходного пути для этой ошибки?