私の名前は Rob Christensen です。Adobe AIR のプロダクト マネージャーです。まず、基礎となるテクノロジに関係なく、大量のメモリを消費したり、メモリを解放しないデスクトップ アプリケーションを作成するのは非常に簡単です。
AIR の次のリリースでは、AIR ランタイムにいくつかの追加機能を提供して、JavaScript ベースのアプリケーションのメモリ リークを簡単に識別できるようにすることを検討しています。Flash または Flex ベースのアプリケーションを構築している開発者は、Flex Builder に含まれるメモリ プロファイラーを利用して、これを追跡できます。JavaScript 開発者にも同様のことをしたいと考えています。
開発者と話をした経験では、メモリ内のオブジェクトがクリーンアップされていない場合にメモリ リークが発生することがよくあります。たとえば、検索キーワードに基づいてユーザーからのツイートを一覧表示する Twitter クライアントを想像してみてください。時間の経過とともに、より多くの結果が表示され、リストが長くなります。表示できるツイートの最大数に制限がない場合、メモリはもちろん、時間の経過とともに増加します。代わりに、アプリケーションは、そのリストに表示されるアイテムの数に合理的な制限を課す必要があります。
AIR でのメモリ処理に関するベスト プラクティスについて説明している講演がいくつかあります。この記事の例はほとんどが ActionScript で書かれていますが、同じ概念が JavaScript にも当てはまります。
AIR アプリケーションのパフォーマンス調整
http://www.adobe.com/devnet/air/articles/air_performance.html
実行時にメモリ リークが発生した場合は、できる限り迅速に対処します。次のフィードバック フォーム (www.adobe.com/go/wish) を使用して、開発者がそのような問題について知ることをお勧めします。
Ajax フレームワークを使用している場合は、その特定のフレームワークにメモリ リークに関する既知の問題があるかどうかを調べることができます。
つまり、要約すると、はい、デスクトップ アプリケーションをビルドするときは、常にメモリについて心配する必要があります (AIR であれ C++ であれ)。アプリケーションの開発中は、アプリケーションのメモリ使用量を監視して、問題をすぐに特定できるようにする必要があります。これを行う 1 つの方法は、寿命テストを実行することです。アプリケーションを一晩中開いたままにして、メモリが徐々に増加しているかどうかを確認します。
一般に、ブラウザーで使用できるツールも非常に限られています。ブラウザー ベンダーがメモリ使用量を識別するためのフックをブラウザーに提供し始めると、これはすぐに変わると思います。お役に立てれば。
ありがとうございました!
-ロブ
Adobe AIR プロダクトマネージャー