###用語集
解説サイトA= https://logmi.jp/tech/articles/322067
抱えている問題・実現したいこと
html・css・javascriptでゲームを作っているが、
「このwebページは多くのメモリを使用しています」と警告が出る。
無視していると強制的にブラウザがページを再読み込みさせてしまうらしい。
ゲームプレイ途中にページが再読み込みされて処理がリセットされては困るので
メモリリークについて理解し、対策を取りたい。
前提
いろいろ解説サイトを読んだが、中でもゲームについて言及している
解説サイトAをメインで読んでいます。
###課題1:メモリ上への発生と消失のタイミングが不明
解説サイトAに載っている画像の、
https://img.logmi.jp/article_images/5kqEN4vopxWVUtJvnMNdf3.jpg
で「**chromeの検証ツール>memory>allocation instrumentation on timeline」**について
「画像やエフェクト、サウンドなどがいつのタイミングでメモリ上に発生して、消えていくかが追えるため、消えていないことがすぐわかります。」とあり、
画像発生検知テストを下記のように実施しました。
###試した時のソース
html
1<!DOCTYPE html> 2<html> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8</head> 9 10<body> 11 <div id="show">画像出す</div> 12 <script> 13 document.onclick = function () { 14 var img = document.createElement('img'); 15 img.src = 'test.jpg'; 16 img.alt = ''; 17 document.getElementById('show').appendChild(img); 18 } 19 </script> 20</body> 21 22</html>
上記ファイルをブラウザで開いた後、「**chromeの検証ツール>memory>allocation instrumentation on timeline>START」**して、記録を開始しました。そして#showをクリックしてtest.jpgを表示させました。そして記録を停止し、記録を見たが、多階層で大量に表示され、どこをクリックすれば情報が得られるか分からない為、いつメモリ上で発生したかも消えたかもわかりませんでした。
結果はconstructorとして表示されるので、「constructor img」で調べましたが分からず。Class filterで「image」と絞り込んで出てきた、HTMLImageElamentのconstructorを展開してsrcを1クリックしましたが、画像のパスは表示されず、なんの画像なのかは見つけられませんでした。
備考
以前
https://teratail.com/questions/280194
に質問しましたが、1つの実現したいこと・抱えている問題に対して課題が複数あったので、課題ごとに分けて質問する為、その理由を添えて削除依頼しました。削除依頼は運営にも受理され、現在は削除されています。運営に受理されたということで複数に分けて質問させていただきます。
回答2件
あなたの回答
tips
プレビュー