0

次の2つのコードを検討してください。

コード1:

Uri uri = Uri.parse(url);
intent.setDataAndType(uri, "audio/*");

コード2:

intent.setDataAndType( Uri.parse(url), "audio/*");

どちらがより良いパフォーマンスを提供しますか?

4

2 に答える 2

1

2つ目は、よりリソース効率が高いです。ただし、uri変数を再利用する場合は、変数を永続的に保つために、最初の変数を使用する必要があります。コードのスニペットを実行するのに必要なリソースはごくわずかであるため、違いはほとんどありません。そのため、多くのメリットはありません。ガベージコレクターは、再度参照されなくなるとすぐにuriオブジェクトを取得することを考慮してください。全体として、リソースが不足している場合は2番目を選択します。ただし、違いは小さすぎて考慮できませんが、最初のオブジェクトは再利用可能なオブジェクトを提供します。これは、再度必要になる場合に検討する必要があります。

于 2012-09-10T20:37:25.293 に答える
1

2番目のオプションの方が優れている/リソース効率が高いと言う人。どちらの場合も、同じ量のオブジェクトを作成することに注意してください。これは、追加のUriオブジェクトではなく、Uriオブジェクトへの1つの追加参照です。参照のサイズは非常に小さく、ごくわずかです。2つ目について重要なのは、インテントオブジェクト内にUriオブジェクトへの参照がない場合、GCがUriオブジェクトを可能な限り高速に収集することだけです。

于 2012-09-10T20:42:42.993 に答える