Che è meno intensivo le prestazioni - il superamento di un pacchetto tramite un dolo o con un fornitore di contenuti

StackOverflow https://stackoverflow.com/questions/3867431

Domanda

Vorrei passare una quantità considerevole di dimensioni dei dati (~ 1500 byte) tra due applicazioni in Android dove allocazione prestazioni e risorse è una priorità. Il dato è sostanzialmente coppie di valori-chiave. La velocità con cui deve essere trasmesso da un'applicazione all'altra può variare da un filo a ~ 50 pacchetti all'interno di un secondo. Immagino che posso sia:

  1. dell'involucro tutti i dati all'interno di un pacchetto, e passare il fascio tramite un intento da un'applicazione all'altra. Mi preoccupo per le implicazioni sulle prestazioni di ripartizione e de-allocazione tutto che la memoria per memorizzare i fasci.

  2. Scrivi tutti i dati in un database SQLite e fornire alla altra applicazione tramite un fornitore di contenuti. Qui mi preoccupo per le implicazioni sulle prestazioni di scrittura tutti i dati su disco, e poi dover leggere di nuovo dal disco quando viene richiesto.

Quindi, che è il minore dei due mali?

È stato utile?

Soluzione

Si consiglia di utilizzare una connessione di servizio. Si paga un certo overhead nella creazione del collegamento iniziale, ma dopo che, è possibile utilizzare un RPC-come l'interfaccia per effettuare chiamate di metodo (passando strutture Parcelable in entrambe le direzioni), con molto poco in testa (ben al di sotto di un millesimo di secondo). Vedere questa pagina per i dettagli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top