我一直在使用Java進行Android編程。由於性能對於我正在處理的內容非常重要,所以我最終只會發送垃圾郵件全局變量。我想現在每個人都會衝過來,告訴我這是有史以來最糟糕的風格,但讓我們保持簡單。對於Android來說,局部變量意味着垃圾收集和垃圾收集是殺死性能的東西。保留一個全局變量或在c中重新創建一個局部變量?
最近我已經開始使用NDK。現在我感受到實際採取所有局部變量並將其改變爲全局變量的衝動。我想知道,如果這在c代碼中有任何意義。顯然這不是一種好風格,但如果速度需要,我會很樂意犧牲風格。
我已經瀏覽了一些關於本地和全局的舊主題,但是我一直無法找到關於速度的任何信息。所以我的問題是,如果我經常調用一個函數,那麼與函數完成後創建局部變量和死亡的速度有關嗎?或者根本不重要,我可以高興地繼續使用局部變量。
我會自己測試一下,但由於某種原因,我的應用程序的性能像雲霄飛車一樣上下起伏,我懷疑我能夠真正瞭解數據。我希望有人可以幫我把我的整個代碼改寫爲空:)
你爲什麼認爲「局部變量意味着垃圾收集」? – 2010-08-24 22:16:41
由於局部變量在超出範圍時被垃圾收集。 – Crashworks 2010-08-24 22:26:34
而全局變量是a)當設置爲NULL時收集的垃圾;或b)保存在內存中,因此不使用時不必要地增加內存壓力,如果不設置爲NULL。 – 2010-08-24 22:29:06