QT QNetworkAccessManager braucht 300MB Ram

Alles rund um die Programmierung mit Qt
Antworten
blubsy
Beiträge: 11
Registriert: 27. März 2010 19:58

QT QNetworkAccessManager braucht 300MB Ram

Beitrag von blubsy »

Hey,
Ich lade mit QT mehrere Dateien (zwischen 100Mb - 500MB) runter.
Mache das mehr oder weniger mit dem code aus dem Beispiel:

Code: Alles auswählen

QUrl url(pUrl);
        QNetworkRequest request(url);

        QNetworkReply *replay = manager.get(request);
        currentDownloads.append(replay);

        connect(replay, SIGNAL(downloadProgress(qint64,qint64)),
                        SLOT(downloadProgress(qint64,qint64)));
Sobald downloadFinished ausgelöst wird rufe ich ein Funktion auf die die
Daten des QNetworkReply in eine Datei schreibt.

Soweit so gut. Das ganze braucht jetzt halt locker 300 MB Ram.
Was ja schon ein etwas viel ist.

Habe mir jetzt gedacht für den DL part Dateien zu erstellen.
Also wie bei firefox wenn man etwas lad das es in dieser datei gespeicht wird.

Habe dazu in der Docu leider nix gefunden. Habt ihr ne idee?
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

300MB vor beginn oder nach beginn des Downloads?

Erst sagst du, dass du den Download in eine Datei schreibst, dann fragst du, ob du den Download nicht lieber in eine Datei schreiben willst??
blubsy
Beiträge: 11
Registriert: 27. März 2010 19:58

Beitrag von blubsy »

Wenn der DL läuft braucht er 300.

Ich meinte das so.
Im moment schreibe ich am Ende des Downloads alle Daten in eine Datei.
Ich habe mir nun überlegt das ganze so zu machen immer wenn ich neue Daten bekomme sie direkt in die Datei zu schreiben, sprich die Datei langsam "aufzufüllen" und nicht alles in den Ram lade und dann aufeinmal raus schreibe.

Finde dazu aber leider nix.

Hoffe habs verständlich ausgedrückt.
kater
Beiträge: 306
Registriert: 29. Dezember 2009 01:13
Wohnort: Darmstadt

Beitrag von kater »

Ja jetzt ist es verständlich.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

QNetWorkReply ist eine QIODevice also wo ist das Problem?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten