Когда я загружаю файл, используя приведенный ниже код, используя Socket.io, он загружает небольшой файл без заблокированного MainThread, но когда я загружал большие файлы, он блокировал mainThreead, как я могу загрузить файл без заблокированного MainThread в Android?

    mSocket.on("updatePublishmentVersion", args -> activity.runOnUiThread(() -> {
        JSONObject data = (JSONObject) args[0];
        if (data.length() == 0) {
            Log.i("worker-log", "EMPTY JSON PUBLISHMENT");
            return;
        }
        JSONArray playerID = null;
        boolean ourPublishment = false;
        String publicKey = crypto.decryptText(CommonUseFunc.getJsonText("Player", "PublicKey"));
        try {
            playerID = data.getJSONArray("playerIdList");
        } catch (JSONException e) {
            e.printStackTrace();
        }
        for(int i = 0; i<playerID.length(); i++){
            try {
                if(publicKey.equals(playerID.get(i).toString())){
                    ourPublishment = true;
                    break;
                }
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

        if(ourPublishment){
            Log.i("worker-log", "Got new publishment");
            Publish.publishmentVerison(context);


        }
    }));
0
Diego