Ich habe gerade meine erste Android App mit Android Studio geschrieben. Es ist ein Vokabeltrainer und liest beim Start eine Textdatei in meinem Assets-Ordner ein, die alle Wörter enthält (bis jetzt habe ich nur ~ 1000): Englisch $ japanisch $ category. Also, ich dachte, das sollte nicht viel Arbeit sein, obwohl ich einen alten Samsung S2 habe. Aber es dauert 10 Sekunden zu starten und manchmal stürzt es ab.Android App zu langsam. Möglichkeiten zu beschleunigen?
Hier ist der kritische Code:
static String word;
static String[] listOfWords;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
readWords();
generateRandomWord();
}
public void readWords() {
try {
InputStream is = getAssets().open("words.txt");
String ww = "";
int data = is.read();
while(data != -1){
ww += (char) data;
data = is.read();
}
listOfWords = ww.split("\n");
} catch (IOException e) {
e.printStackTrace();
}
}
public void generateRandomWord() {
TextView textView = new TextView(this);
textView.setTextSize(40);
textView = (TextView) findViewById(R.id.text_id);
Random random = new Random();
int randomKey = random.nextInt(listOfWords.length-1);
String line = listOfWords[randomKey];
String[] parts = line.split("/");
Log.d("Tango-renshuu", "line: "+line+" "+parts.length+" "+parts[1]);
textView.setText(parts[1]);
word = parts[2];
}
Das gleiche passiert, wenn ich versuche, von einem anderen zu dieser Aktivität zurück zu gehen, obwohl ich verwende Intent.FLAG_ACTIVITY_CLEAR_TOP
So:
public void back(View view) {
Intent intent = new Intent(this, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
}
Irgendeine Idee oder denkst du, es ist nur mein Gerät?
Thank
Danke, es hat gut funktioniert. – user1734984