Új hozzászólás Aktív témák

  • Karma
    félisten

    StringBuilder text = new StringBuilder();
    br = new BufferedReader(new FileReader(filePath));
    char[] bytes = new char[131072];
    int numRead = 0;
    while ((numRead = br.read(bytes)) >= 0) {
    text.append(new String(bytes, 0, numRead));
    EditText tv = (EditText) findViewById(R.id.editText2);
    tv.setText(tv.getText().toString() + new String(bytes, 0, numRead));

    }

    Igazából az egy szerkesztőprogram, bármit megnyit amit kiválasztok fájlkezelőben.

    A tv.setText() hívás durván költséges, karöltve a folyamatos memóriadarálással a string konkatenálás miatt... Használj StringBuffert az adat összegyűjtéséhez, és a setText()-et csak egyszer hívd meg. Mondjuk ekkor sincs garancia arra, hogy jól fog menni (nem biztos hogy fel van készítve ekkora tartalomra a control).

    Javárj, most olvasom újra. Ha van StringBuildered, akkor minek dekódolod még egyszer kézzel? :F

Új hozzászólás Aktív témák