2009-06-24 19 views
2

私たちは、メモリリークの原因となるJavaScriptコード(ウェブサイトから)を継続的に実行するため、Firefoxなどのウェブブラウザがどのようにメモリ消費量を埋めるのかを知っています。Adob​​e AIR、メモリリーク

私はデスクトップアプリケーションを開発する際に議論しています.Javascript/Css/HTMLで私の経験を考えれば、私はAIRを試してみると思います。このようにJavaを使用する必要はありません。すべてのGUIスイングのことを学びます。

問題は、AIRは、単にオペレーティングシステムと対話するためのAPI層とWebブラウザですので、私は、AIRでのメモリリークを心配ということです。

AIRのメモリリークを心配するのは当然でしょうか?それについて何をすべきですか?

+0

心配?はい。約何かをする?いいえ。 –

+0

質問を追加しました:) –

答えて

9

私の名前はRob Christensenで、私はAdobe AIRのプロダクトマネージャーです。まず、基礎となる技術に関係なく、大量のメモリを消費したり、メモリを解放したりすることなく、デスクトップアプリケーションを構築することは非常に簡単です。 AIRの次のリリースで

、我々はそれが簡単にJavaScriptベースのアプリケーションにメモリリークを識別できるように、AIRランタイムにいくつかの追加機能を提供することを検討しています。 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_jp)を使用して、問題をチームに送り返すことで、そのような問題を知ることを推奨します。

あなたはAjaxフレームワークを使用している場合は、その特定のフレームワークのためのメモリリークに関する既知の問題があるかどうかを検討することをお勧めします。

要約すると、はい、デスクトップアプリケーションをビルドするときには、AIRやC++を問わず、常にメモリについて心配する必要があります。アプリケーションを開発する際には、アプリケーションのメモリ使用量を監視して、後で問題を特定できるようにする必要があります。これを行うための1つの方法は、長寿のテストを実行することです - アプリケーションが夜間に開いて、メモリが忍び寄っているかどうかを確認してください。

一般に、ブラウザで利用できるツールは非常に限られています。ブラウザーベンダーがブラウザーにメモリ使用量を特定するためのフックを多く提供するようになるにつれて、これがすぐに変わると私は期待しています。お役に立てれば。

ありがとうございました!

-Rob

プロダクトマネージャーは、Adobe AIR

1

私は、Linux上のAIRアプリケーションが時間とともにギガバイトのメモリを飲み込むのを見たことがある。それは私の本当のブロッカーであり、それらを使って私を止める。

つまり、他のプラットフォームの他の人には問題はありません。最終的には、あなたの市場の大半がどのように使用されるのか、AIR(またはその他)の問題がどのように影響を受けるかを決定する必要があります。

重要ではないが(それでも問題は残っている)、バグレポートを提出してAdobeが解決することを願っている。

+0

実際に私は今Mac OSXで問題を抱えています。問題の少ないプラットフォームはWindowsだけです。 –