How to speed up unzipping time in Java / Android?

后端 未结 6 1560
名媛妹妹
名媛妹妹 2020-12-02 08:42

Unzipping files on android seems to be dreadfully slow. At first I thought this was just the emulator but it appears to be the same on the phone. I\'ve tried different compr

6条回答
  •  独厮守ぢ
    2020-12-02 09:29

    I don't know if unzipping on Android is slow, but copying byte for byte in a loop is surely slowing it down even more. Try using BufferedInputStream and BufferedOutputStream - it might be a bit more complicated, but in my experience it is worth it in the end.

    BufferedInputStream in = new BufferedInputStream(zin);
    BufferedOutputStream out = new BufferedOutputStream(fout);
    

    And then you can write with something like that:

    byte b[] = new byte[1024];
    int n;
    while ((n = in.read(b,0,1024)) >= 0) {
      out.write(b,0,n);
    }
    

提交回复
热议问题