2017-03-11 11 views
2

Ich bin neu bei Android und ich möchte verstehen, wie ich ein Array in den Speicher speichern kann. Ich meine nicht internen Speicher, wie ich über gemeinsame Vorlieben, externen Speicher und SQLite weiß. Ich betrachte etwas im Bereich RAM/Heap.So speichern Sie Array in den Speicher in Android

Die eigentliche Herausforderung ist, dass ich eine Zeichenfolge Array von Namen habe. Ich erhalte die Namen aus einer SQLite-Datenbank, wenn die App zum ersten Mal gestartet wird.

beispiels

String[] names = new String[] {"dave", "james", "tommy" } 

Diese Liste kann wachsen mehr als 10.000 Objekte enthalten.

In einer anderen Aktivität möchte ich überprüfen, ob einige Namen in der Liste vorhanden sind. Ich möchte die Datenbank nicht hin und her abfragen, um dies zu erreichen. Deshalb denke ich, dass das Speichern im Speicher die beste Wette ist, da es die Leistung verbessern kann.

So würde ich gerne wissen, wie Sie dieses Array im Speicher speichern und daraus in einer anderen Aktivität lesen. Ich weiß bereits, wie man meinen RAM verwaltet, ich suche nur nach Möglichkeiten, diese Informationen dort zu bekommen und davon zu lesen.

Dank

+0

diese Liste statisch ist oder geändert werden kann? –

+0

ich meine können die Werte ändern oder nicht @Os. –

+2

Ihre Liste ist bereits im RAM/Heap. Es ist ein Java-Objekt ... –

Antwort

0

erstellen Singleton Muster und Ihre array hineingesteckt und Sie können Ihre Array über Ihre App-Instanz aber nicht vergessen, diese singleton Klasse mit der App wird zerstört teilen, so wird Ihr Sie Array in seinem Inneren.

So wird ein Singleton erstellt.

class Bar { 
private static class ArrayHolder { 
    public static List<String> array = new ArrayList<>(); 
} 

public static Bar getArray() { 
    return array; 
} 
} 

Jedes Mal, wenn Sie Ihre Array zugreifen tun müssen, um nur diese ArrayHolder.getArray()

+0

Was ist der Zweck der 'ArrayHolder' Klasse hier? Es sieht so aus, als ob du versuchst, das Faulenzer-Idiom falsch zu machen; aber die Faulheit sieht unnötig aus. –

+0

kann ich die Daten aus dem Array in einer anderen Aktivität mit dem Singleton-Ansatz abrufen? – Tajinere

+1

Ja, Sie können Daten mithilfe des Singleton-Ansatzes abrufen –

Verwandte Themen