AppSearch, czyli indeksowane na urządzeniu, i ustrukturyzowana wyszukiwarka, była dostępna w Androidzie 12 jako APEX. W Androidzie 13 wyszukiwarka AppSearch jest dostarczana jako moduł Mainline.
Motywacja
Aby zapewnić spójne wdrażanie AppSearch w ekosystemie Androida oraz obsługiwać możliwość aktualizacji.
Zalety:
- Zezwalanie na aktualizowanie AppSearch przez Sklep Play
- Zapewnienie zgodności z wymaganiami dotyczącymi ochrony danych w przypadku usługi AppSearch
Szczegóły
- Dane zbierane przez interfejsy AppSearch API pozostają na urządzeniu użytkownika (z wyjątkiem danych zbiorczych, które są używane do optymalizacji wydajności).
- Szybka implementacja pamięci z optymalizacją pod kątem urządzeń mobilnych i małą liczbą operacji wejścia/wyjścia
- Bardzo wydajne indeksowanie i wybieranie dużych zbiorów danych
- obsługa wielu języków, takich jak angielski, hiszpański i koreański;
- Ranking trafności i ocena wykorzystania
Architektura AppSearch
Rysunek 1 przedstawia pojęcia AppSearch oraz granicę procesu usługi systemowej.
Rysunek 1. Architektura modułu AppSearch
Granica modułu
AppSearch Mainline Apex –
com.android.appsearch
- Interfejs AppSearch API (Java)
- Lokalizacja kodu:
frameworks/base/apex/appsearch/framework
- Proces: BOOT_CLASS_PATH
- Lokalizacja kodu:
- AppSearchManagerService (Java)
- Lokalizacja kodu:
frameworks/base/apex/appsearch/service
- Proces: system_server
- Lokalizacja kodu:
- Biblioteka natywnych elementów Icing (C++)
- Lokalizacja kodu:
external/icing
- Proces: system_server
- Lokalizacja kodu:
- Interfejs AppSearch API (Java)
Interfejs HAL i implementacje (C++)
- Nie dotyczy
Zapoznaj się ze schematem architektury modułu na rys. 1.
Format pakietu
Główne funkcje tego modułu są zawarte w pakiecie APEX.com.android.appsearch
Zależności
- libicu
- libprotobuf-cpp-lite
- ndk
Dostosowywanie
Ten moduł nie jest konfigurowalny.