1

原則として、複数のセクションを持つプログラムは、起動時にすべてを作成する必要がありますか、それとも実際に必要なときに各部分を作成するのを待つ必要がありますか?

私の特定のケースは、複数の異なるセクションを持つJavaキオスクスタイルのアプリケーションです。各セクションは、特定のタスクを実行する異なるJPanel(異なるボタン/ JTables / JLabelsなど)です。これは私がしばらく触れていない未完成のプロジェクトですが、私はそれを完了し、コードを見て、他の方法でやるべきだと思うことをリファクタリングしようとしています。

これまでのところ、プログラムは起動時にすべてのJPanelを作成しているため、ユーザーが表示されるJPanelを変更するボタンのいずれかをクリックするたびに、既に作成されているため、即座にロードされます。これまでのところ、パフォーマンスに関してはそれほど重要ではないと思いますが、この場合の標準的な方法を知りたいと思います。

4

3 に答える 3

2

起動が遅くなる可能性があり、必要のない一部のパネルが読み込まれるため、起動時にすべてを読み込むことはしませんたとえば、連絡先、概要、写真、フィードの4つのパネルが読み込まれています。起動時に4つすべてをロードするとします。ユーザーが、そのうちの2つだけにアクセスしてから、アプリケーションを閉じた場合はどうでしょうか。ユーザーが1つのパネルだけを表示したいが、起動時にすべてのパネルがロードされるのを待たなければならない場合があります。したがって、必要に応じてパネルをロードすることをお勧めします。フレームにプライマリデータのみをロードし、ユーザーがパネルをロードするボタンを初めてクリックすると、そのパネルがロードされるまで進行状況バーが表示され、次にボタンをクリックしたときから、待機せずにパネルを表示します。最初のクリックですでにロードされています。

アプリケーションがインターネットからデータを取得している場合、起動時にすべてのデータをロードすると、追加の帯域幅とデータ料金もかかります。

于 2012-06-11T07:28:52.087 に答える
1

プロジェクトのニーズによって異なります。

エンドユーザーにとって応答時間が重要である場合、あなたのアプローチは正しいです。

それ以外の場合は、オンデマンドでjpanelを作成します

于 2012-06-11T07:27:48.967 に答える
1

それを作成するのにどれくらいの費用がかかるかに大きく依存すると思いますJPanelJTableたとえば、ネットワーク経由でMySQLサーバーから受信する多くの情報が含まれている場合、それを作成するためのコストJPanelは非常に大きくなります。

この場合、必要なときにだけ作成します。プログラムの実行中はそれが必要になることはないかもしれJPanelませんが、なぜそれを作成するためにすべての時間とリソースを費やすのでしょうか。

于 2012-06-11T07:28:52.580 に答える