ich von einem Kurs android Entwicklung von Udacity.While lerne ich durch die Lektion vorging 2, kam eine Situation, wo wir mehrere Textviews, stellen Sie den Text aus zuvor ArrayList
von Strings erstellt und fügen Sie diese Textviews Linear Layout erstellen musste .Welcher der beiden Codes ist besser auf Speicherbasis?
Common Code:
ArrayList<String> words = new ArrayList<String>();
words.add("one");
words.add("two");
words.add("three");
words.add("four");
words.add("five");
words.add("six");
words.add("seven");
words.add("eight");
words.add("nine");
words.add("ten");
LinearLayout rootView =(LinearLayout) findViewById(R.id.rootView);
Nun, was sie taten:
for(int i=0;i<10;i++){
TextView wordView=new TextView(this);
wordView.setText(words.get(i));
rootView.addView(wordView);
}
Was ich tat:
ArrayList<TextView> wordView = new ArrayList<TextView>();
for(int i=0;i<10;i++)
{
wordView.add(new TextView(this));
wordView.get(i).setText(words.get(i));
rootView.addView(wordView.get(i));
}
Nun ist meine Frage meinen Weg Wetter die Aufgabe zu nähern hat mehr Speicherkosten als ihre Art?
Ich fühle mich mein Code ist besser, weil ich Bezug auf jede TextView
auch nach der Schleife habe.
'Ich halte würde ein einzelner Textview wäre ein Listview oder recyclerView' Aber jede Zeile mit, also ... was Optimierung wäre das? Außerdem würden Sie eine ViewGroup zusätzlich zu den einzelnen Zeilen haben. –
Listviews für eine Anzeige einer Liste der Elemente optimiert. Also mit Speichern werden die Zeilen wiederverwendet werden. –