Ответ 1
Как вы заключили, он много используется в onTouchEvent. OnTouchEvent вызывается всякий раз, когда вы взаимодействуете с экраном, то есть касаетесь перемещения и отпускания событий. Перемещение только одного пикселя приведет к потенциальному вызову этого метода.
Объяснять нечего, это именно то, как оно реализовано. Обычно adapter.getCount реализуется с помощью чего-то вроде List.getSize или Cursor.getCount. И имеет почти нулевые накладные расходы. Если это проблема, оптимизируйте метод ListAdapter.getCount, кешируйте счет или что-то в этом роде. Делайте только сложные вещи там, когда это необходимо, и кешируйте результат, пока он не станет недействительным.