zugeordnet Wie kann ich Speicher von <Leinwand> im folgenden Beispiel zugewiesen freie:Free von <canvas/> Speicher auf Seite neu laden
<html>
<head>
</head>
<body id="body">
<canvas id="canvas" width=3000 height=2000/>
<script>
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
ctx.fillText("hao ar iu?", 20, 20);
</script>
</body>
</html>
I var Leinwand auf null (Leinwand = null) zu setzen versucht, zu löschen Leinwand (löschen Leinwand) oder dynamisch Leinwand zu erstellen und hängen sie ihn an die „Dokument“ root, es nach dem auf diese Weise entfernen:
<div onclick=reload()>CLICK TO RELOAD PAGE</div>
<script>
function reload(){
body.removeChild(canvas);
location.reload();
}
</script>
Nichts ändert sich, den zugewiesenen Speicher g Ets größer und größer mit jeder einzelnen Seite neu laden, bis mein Browser zu viel CPU-RAM-Speicher belegen. Manchmal stürzt der Browser ab. Manchmal bereinigt der Garbage Collector einige der Variablen außerhalb des Bereichs. Aber es lässt zu viel Speicher belegt. Ich verwende Chrome Version 25. Gibt es irgendwelche Möglichkeiten, die <Canvas> Speicher zu befreien oder frühzeitig Garbage Collection zu provozieren?
Ja, ich habe von Ihnen alle aufgeführten Lösungen versuchen, wie Sie in meinem Beitrag lesen kann. Keiner von ihnen scheint zuverlässig für mich zu arbeiten. Was meinst du damit, "deine Wege zu schließen"? Ich zeichne keine Animation, so dass die große Größe in meinem Fall keine Leistung verursacht. – 0xC0DEGURU
Das ist nicht was gelöscht werden soll für. – Isius