Я думаю, что в этом нет необходимости, потому что ListView
повторяет представления элементов.Таким образом, вы не занимаете память для элементов списка (для каждого значения), вы просто используете память для ArrayList
(или любого типа данных, который вы используете для подачи).
Также вы можете делать это всякий раз, когда пользователь достигает конца списка (последний элемент списка), затем ссылается на адаптер с новым значением и затем вызывает .notifyDataSetChanged()
.
Достижение 50% видимых элементов списка может привести к путанице, потому что вы всегда будете иметь 50%, в противном случае вы можете импровизировать (достигнув 50% в ArrayList вместо ListView), проверив, больше ли 50%из существующего ArrayList отображается, скажем, 10 элементов, а 6-й элемент находится в списке просмотров / 2, вы проверяете, превышает ли 50% этого элемента списка данных для представления списка, которое вы вводите с новыми данными.(Может быть неясно)
Надеюсь, идея вам поможет.