2008-10-15 12 views
8

Gibt es Einschränkungen hinsichtlich der Speicherkapazität, die der Flash Player verwenden kann? Wenn Sie einen swf haben, der im Laufe der Zeit viele Daten vom Server erhält, werden immer mehr Daten im Speicher gehalten ... Gibt es eine Einschränkung?Speicher in SWF (Flash Player)

Thx, Lieven Cardoen

Antwort

6

Nicht in jeder Version von Flash, die auf Desktop-PC läuft. Solange Ihre Anwendung mehr Arbeitsspeicher verwendet, fordert Desktop Flash sie vom Betriebssystem an, bis das Betriebssystem nicht mehr genügend Arbeitsspeicher zur Verfügung hat oder etwas abstürzt. Natürlich sollte der Entwickler die Speicherbelegung entsprechend einschränken, aber Flash wird Sie dazu nicht zwingen.

In Flash Lite (die mobile Version für Mobiltelefone), die Host-Anwendung vordefinierte Grenzen für die Speichernutzung auferlegt, aber das ist wahrscheinlich nicht das, was Sie interessieren. :)

+0

Was meinst du mit Desktop-Flash? (Standalone?) Ich war mehr interessiert zu wissen, ob ein Browser die Einschränkungen von Flash Player geben würde? Vielleicht werde ich unsere Business-Flex-Anwendung auf einem alten PC versuchen ... –

+0

Sorry, ich werde meine Antwort klären, was ich unter Desktop-Flash verstehe. Ist das Problem hier, dass Sie Grenzen auferlegen wollen, oder Sie haben Angst, dass Sie sie überschreiten? Oder einfach nur prüfen, ob es welche gibt? – fenomas

+0

Überschreiten ist das Problem, Fenome. Ich möchte jetzt, wenn es eine Grenze für die Menge an Speicher gibt, die von dem Flash-Player verwendet werden kann. Und wenn diese Grenze vom Flash-Player, dem Browser, dem Betriebssystem oder nur abhängig von der Menge an Speicher im PC gesetzt wird. –

5

prüfen, wie viel Sie verwenden mit:

trace ("Speichernutzung:" + (System.totalMemory/1048576) + "MB");

und auf Lecks achten!

+0

Idd, schreibt einige analytische Tests, um zu sehen, wie schnell der Speicher steigt. Danke –

2

Iain hat die richtige Antwort über die Überprüfung des verwendeten TotalMemory.

Sie könnten wahrscheinlich ein Paging-System verwenden. Obwohl immer mehr Daten vom Server geladen werden, glaube ich nicht, dass alle Daten zu jeder Zeit verwendet werden. Sie könnten Daten vom Server erhalten und nach und nach auf dem Computer des Clients in einer SharedObject speichern (achten Sie jedoch auf die Größenbeschränkungen), und Sie würden verfolgen, welche Daten lokal verfügbar sind (Daten von Index 0 bis 900). Wenn der Benutzer Daten zwischen 200 und 300 sehen möchte, erhalten Sie gespeicherte Daten (sofern diese natürlich gespeichert wurden), wenn Sie die Daten nicht anfordern und den Benutzer darüber informieren, dass Daten auf dem Weg sind.

Hier sind ein paar praktische Link im Zusammenhang totalmemory und der Garbage Collector:

Aber was ich denke, da gibt es eine Menge Daten besser geeignet ist vom Server, könnte dies sein: "What is the safe limit of flash player’s memory on web scenario and how well is AS 3.0 bit manipulation?"