В AIDL , тег out
указывает параметр только для вывода. Другими словами, это параметр, который не содержит интересных данных на входе, но будет заполнен данными во время метода.
Например, метод, который копирует массив байтов, может быть указан следующим образом:
void copyArray(in byte[] source, out byte[] dest);
Тег inout
указывает, что параметр имеет значение как на входе, так и на выходе. Например:
void charsToUpper(inout char[] chars);
Это важно, потому что содержимое каждого параметра должно быть маршализовано (сериализовано, передано, получено и десериализовано). Теги in / out позволяют Binder пропустить этап сортировки для повышения производительности.