2009-04-10 16 views
2

私はすぐにモバイルアプリケーションに関するプロジェクトを進めます。 このアプリケーションはWindows MobileのPDTで動作し、Visual Studioと.NETを使用して開発します。消費電力の少ないモバイルアプリケーションを設計するにはどうすればよいですか?

このアプリケーションは、Wi-Fiを集中的に使用し、できるだけ少ない電力を消費する必要があります。 パワーマネージメントを扱う組み込みソフトウェアやリアルタイムシステムに関する多くのことをインターネット上で見つけました。しかし、このようなものは非常にハードウェアに関連しており、ソフトウェア設計については言及していません。

また、いくつかの面白いベストプラクティスを見つけましたが、主にアプリケーションのコードに焦点を当てています(たとえば、できるだけ早くハンドルを閉じる、またはほとんどI/Oを使用しないなど)。

あなたは、アーキテクチャやそのようなアプリケーションの設計に関するいくつかのリードを認識しているかどうかを知りたいと思います。

イベントドリブンアーキテクチャーの使用についてのアドバイスもありました。節電に関してはとても便利ですか?コンパクトフレームワークで使えますか?

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

編集:だから、Daveは私たちにアーキテクチャの決定と呼べるいくつかの手がかりを与えました。 だから、私は2つの貴様レベルで行うことができるはっきりとものを見ると思う:Daveのような高レベルの、そのような決定で

  • は、抽象度が低く、バッテリ消費を最小限に抑えるコード、トリック、ヒントに近いです。

抽象化の中間レベル(デザインフェーズ中)はどうですか?低消費電力のソフトウェア設計(設計パターン、今までのこと...)の方法論はありますか?

リンク: http://msdn.microsoft.com/en-us/library/aa455167.aspx

http://www.eventhelix.com/RealTimeMantra/Basics/

答えて

1

おそらく、あなたが見つけたベストプラクティスにリンクすることができます。それ以外にどんなリードがありますか?あなたが見つけたのはthisでしたが、thisはラップトップのマルチコアプロセッサをターゲットにしています。

Windows Mobileは、ソフトリアルタイムのシステムであり、ハードリアルタイムから非常に遠いものです。私はそのような説明やアドバイスで多くの使い方を見つけることはできません。

そうでなければ、私はかなり標準的なものがあると思います。可能であればWi-Fiをオフにしてください。メモリを使用できる場合はキャッシュを使用します(しかし、キャッシュが責任を負わないように何が起こっているかを測定します)。決してアイドルループをやってはいけませんが、Thread.Sleep()以上を使用して、すべての処理を短時間の処理バーストで行うようにしてください。スレッドはあなたの友人になり、賢明に使われます。

もちろん、狂気のようなプロフィール。あなたのコードはCPU使用率の面でより効率的です。

しかし、より具体的なアドバイスは、解決しようとしている問題に依存する必要があります。アプリケーションでWi-Fiを使用するのはなぜですか?どの情報を送受信する必要がありますか?ユーザーは誰ですか?ユーザーはどこに移動しますか?重い計算が含まれていますか?どのくらいのユーザーインターフェイスを提示する必要がありますか?あなたはまだ特定のハードウェアをターゲットにしていますか(特定のCPUとWLANインタフェースは異なる消費電力動作を持ちます)。

0

として、まれにできるだけ無線LANや他の電力を集中機能を使用してください。実用的な場合は、オンデマンドで行うのではなく、特定の数の要求が保留中のときにWi-Fi送信をバッチ処理します。

関連する問題