考慮讓這兩個代碼:其中哪些能夠提供最佳性能/佔用更少的資源?
代碼1:
Uri uri = Uri.parse(url);
intent.setDataAndType(uri, "audio/*");
代碼2:
intent.setDataAndType(Uri.parse(url), "audio/*");
哪一個提供更好的性能?
考慮讓這兩個代碼:其中哪些能夠提供最佳性能/佔用更少的資源?
代碼1:
Uri uri = Uri.parse(url);
intent.setDataAndType(uri, "audio/*");
代碼2:
intent.setDataAndType(Uri.parse(url), "audio/*");
哪一個提供更好的性能?
第二個是更資源高效!但是,如果重複使用uri
變量,則應該使用第一個變量,以保持變量持久。差別非常小,因爲代碼片段只需要很少的資源即可運行,所以您不會獲得太多收益。考慮到垃圾收集器一旦不再被引用就會得到uri對象。總而言之,如果你對資源緊張,選擇第二個,儘管差別太小,不能考慮,但第一個給你一個可重用的對象,如果你需要它,你應該考慮。
說第二選擇的人會更好/更有資源效率。無論在哪種情況下,都要小心地創建相同數量的對象。這只是一個額外的參考到Uri對象不是一個額外的Uri 對象。一個參考的大小是真的是小,而且真的可以忽略不計。對於第二個唯一重要的是,如果在意圖對象內沒有對Uri對象的進一步引用,則GC將盡可能快地收集Uri對象。
+1表示GC,-1表示沒有指出「intent」對象可能會爲該Uri保留一個引用。 – mehmetminanc
感謝提醒我,我忘記了這一點!建設性的批評! :) –