binder: should use android.os.SharedMemory to transport large messages
- Lingua principale
- Java
- Stelle
- 12.1k
- Fork
- 4k
- Merge medio
- 2g 17h
- PR unite (30g)
- 37
Descrizione
### Is your feature request related to a problem?
Both CPU and wall clock time of sending a message are dominated by the overhead of calling transact(). Today we need O(n) transactions where n is the size of the message.
### Describe the solution you'd like
https://developer.android.com/reference/android/os/SharedMemory could be used to send any sized message in O(1) binder transactions.
### Describe alternatives you've considered
Apps can already accomplish this using ParcelableMetadata, but it is cumbersome and prevents your app from working with other gRPC transports.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
La richiesta riguarda il trasporto dei messaggi di gRPC-Java, android.os.SharedMemory di Android, Binder transact() e l'alternativa ParcelableMetadata esistente. Inizia individuando il percorso di trasporto che esegue chiamate transact() ripetute e l'integrazione di ParcelableMetadata; il lavoro è completato quando i messaggi di grandi dimensioni possono usare SharedMemory con transazioni Binder O(1), mantenendo la compatibilità con gli altri trasporti gRPC.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, java
- Ambito
- backend-api-design, performance
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100