Как я могу сбросить весь экран при использовании ADB? - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь получить иерархию всего экрана, используя ADB.

Если я использовал дамп uiautomator из adb shell, я получаю только текущий вид, а не весь экран. Например, если я выбрасываю текущее представление, прокручиваю вниз и снова дампа, я получу другой вывод. Я хочу вывести на экран весь экран без необходимости прокручивать вниз и снова сбрасывать.

1 Ответ

0 голосов
/ 17 июня 2019

если я использую приложение gmail, в моем почтовом ящике у меня есть список электронных писем, которые в данный момент находятся в моем представлении. Dumping даст мне только этот список электронной почты, я хочу знать, есть ли способ получить все электронные письма в моем почтовом ящике.

Как правило, нет.

Используя пример Gmail, предположим, что приложение Gmail отображает разговоры в некоторой метке, и эта метка содержит 343 140 189 бесед.

(спам, амирит?)

Я предполагаю, что вы думаете, что пользовательский интерфейс приложения Gmail имеет список прокрутки с 343 140 189 строками в нем, и эта прокрутка просто меняет, какие из этих 343 140 189 строк видны.

Это не так по многим причинам, например, из-за нехватки памяти в приложении.

Большинство прокручиваемых списков в Android используют классы, такие как RecyclerView и ListView. Эти классы перерабатывают свои строки. Таким образом, вместо 343 140 189 строк будет несколько, достаточно для заполнения экрана и, возможно, еще пара. По мере того, как пользователь прокручивает, а строки скатываются с экрана, они перерабатываются: заполняются новым контентом и подаются как «новые» строки. Визуально, эффект неотличим от наличия 343 140 189 строк. С точки зрения программирования, разница значительна. И с точки зрения uiautomator программирование - вот что имеет значение.

...