iOS Test Online 2022/10/28 https://testonline.connpass.com/event/261910/
最近趣味や仕事の Web アプリケーションでメモリリークに遭遇して、頑張ってメモリリークの原因を突き止めて修正する、ということがあった。その過程でメモリリークについて色々調べて知見が溜まったので、学習資料の紹介という形でアウトプットしてみる *1。 前置き 紹介する記事がかなり偏っていることに注意 冒頭で触れたメモリリークを解決するために読んだ記事をまとめただけなので、内容にそれなりの偏りがある 例えば id:mizdra が遭遇したメモリリークは全てブラウザ上で発生していたものだったので、これから紹介する内容も主にブラウザにおけるメモリリークに焦点を当てたものになる GC がどうメモリをどう解放しているか、何故メモリリークが発生するのかは全てカット 調べれば色々な記事が出てくるので、必要に応じて読んでください 基本的な知識を抑える まずメモリリークとメモリ撹拌の違いを学ぼう どちらも同じ
2 Oct, 2012 · by admin · Read in about 3 min · (1044 Words) CppCheck cygwin OSS 組込み 静的解析 メモリ解放漏れ・メモリ二重解放は組込みエンジニアにとって、背筋が凍る単語だ。 それは、即、残業しなさいという意味に転じる。 そこから、泥沼のデバッグにハマることがよくある。 そんな課題をスマートに解決するために、メモリ解放漏れやメモリ二重解放を検出するツール調べてみたので、メモメモ。 オープンソース CppCheckのインストールをしよう Cppcheckを使うことでメモリ解放漏れを静的解析で見つけることが可能だ。CppCheckはその他にも、アロケーション(確保と解放)の不一致(メモリ二重解放),バッファオーバーランの検出ができる。OSSなので、誰でも無料で利用可能。 CppCheckのダウンロードはココから C
Making on December 24, 2008 Update on December 27, 2008 Loader クラスを使って読み込んだ画像や swf ファイル をアンロードする場合、DisplayObject クラスのメソッド removeChild を使って表示リストから削除してもメモリは開放されない場合があります。それは、Loader クラスのインスタンスに参照が残っていた場合です。 参照が残ってしまうことが考えられるのは、Loader クラスのインスタンスに addEventListener でリスナー登録している場合か、変数に代入している場合です。 参照を外すためには、 removeChild メソッドで表示リストから削除した後に、 removeEventListener メソッドでイベントリスナーを削除した後、参照していた変数に null を代入します。 当然で
import flash.display.Bitmap; import flash.display.BitmapData; //作成するBitmapDataの幅 var w:Number = stage.stageWidth; //作成するBitmapDataの高さ var h:Number = stage.stageHeight; //BitmapDataを作成 //第3引数が透明度を適用するか否かで、第4引数が透明度を含めた背景色(ARGB) var bmp:BitmapData=new BitmapData(w, h, true, 0x00ffffff); bmp.draw(target_mc); this.addChild(new Bitmap(bmp)); いつもnew BitmapDataの引数で背景色の指定にアルファ値を含めなきゃいけないのを忘れるんだよね。 頭の0xは以下
Papervision3Dで3Dのメニューとかをずっと表示していたりとかだと気にしなくてもいいんだけど、こまごました3Dオブジェクトをあまり考えずに出したり消したりしてるとあっという間にメモリが大変なことになっていく。 当然、3D表示オブジェクトや普通の表示オブジェクトをしっかりremoveChildとか、後処理をちゃんとしなくちゃいけないんだけど、それやっても大してメモリが解放されてないなーとか思ってたら、マテリアルに設定したBitmapDataをきちんとdisposeしてないのが大問題のようです、と気づいたので。以下その解決方法。 ちなみに、MovieMaterialも引数はMovieClipだけど、結局一度BitmapDataを作ってるので、どこかのタイミングでdisposeすることは超大事です。 (1)○○○○Material.destroy()メソッドを使う 実は、それっぽい
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く