讓我們以Activity類爲例,我已經看到許多開發人員在類中使用私有變量來存儲小部件的指針,並初始化他們在創造事件。什麼是這樣做的海豚?是不是通過分配一個我們並不需要的新變量來浪費資源?我的意思是,我們總是可以通過調用findviewById來獲取對象,並且在任何情況下在需要時將其存儲到方法變量中。在Android中,在類中聲明變量時的最佳做法是什麼
回答
如果使用該視圖的許多實例,代碼變得更易於讀取變量。
另外,在每次使用時都要查看它,尤其是在使用量很大的情況下。即使假設最佳搜索算法,findViewById()
比變量訪問花費的時間更長。
無論如何這是一種微觀優化;這兩個內存都是從一個額外的變量中觸發的,並且find
的查找時間非常小,用戶不會注意到其中的差異。編碼人員花費的時間來解決這些問題在別處可能會更好。
是的,這就是我的意思。所以,通過使用findViewById,我們不是在訪問與變量相同的內存引用嗎?我明白它可以幫助開發人員以更清晰的方式輸入代碼,訪問'findViewById(R.id ..)'的'mMyTextView'總是更容易,但我想知道哪個是最好的技術從時間或資源節約的角度來看。 – spacebiker
給定一個ID,花在獲取該內存引用上的時間。看到我上面的評論:你想要什麼**更多** - 速度或內存?順便提一句,這兩者都可以忽略不計。無論如何這都是微觀優化。你不應該花太多時間去追求這些。 –
如果您有很多撥打findViewById()
的電話,那麼這裏有很多不同的地方,可能意味着您錯誤地看到錯誤。通過將視圖放入一個字段中,您可以確保只有一點代碼才能正確使用。不要重複自己。相反,儘管如此,您需要確保在代碼有機會初始化之前不要嘗試訪問該字段。這在實踐中通常不是問題,但我傾向於使我的類儘可能不可變,並且不能在構造函數返回rankles之後的某個時間初始化字段。
- 1. 在C#中聲明變量的最佳做法是什麼?
- 2. 在C++中聲明類中的對象的最佳做法是什麼?
- 3. Javascript聲明變量 - 最佳做法
- 4. 在HTML中顯示變量的最佳做法是什麼?
- 5. 什麼是「: - 」在變量聲明中做什麼?
- 6. 在iphone sdk中聲明全局變量的最佳方法是什麼?
- 7. React.js中全局變量聲明的最佳實踐是什麼?
- 8. Python - 返回類變量的最佳做法是什麼?
- 9. 在APPLICATION中聲明所有常量變量的最佳方法
- 10. module.exports在變量聲明中使用時會做什麼
- 11. 使用Kotlin在android中聲明變量類型的正確方法是什麼?
- 12. 什麼是在CakePHP中聲明全局變量的最佳方式
- 13. 方法中最終變量聲明的作用是什麼?
- 14. 從firebase聲明全局變量的最佳方式是什麼?
- 15. 什麼是在Android項目中創建包的最佳做法
- 16. 在Android 2.1中實現下載的最佳做法是什麼?
- 17. 在Unity中處理基類的最佳做法是什麼
- 18. 什麼是在繼承類中使用鎖的最佳做法
- 19. Android中查詢Sqlite時的最佳做法是什麼?
- 20. 在聲明一個變量時,Python 2.X中的逗號是做什麼的?
- 21. 在cocoa中聲明私有變量的最佳方法
- 22. 試圖重構JQuery的最佳做法,但在聲明變量時失敗
- 23. 在IIS中設置maxAllowedContentLength時的最佳做法是什麼?
- 24. 在R中處理時間的最佳做法是什麼?
- 25. 聲明空javascript變量的最佳做法
- 26. 將Objective-C塊聲明爲變量的最佳做法
- 27. 最佳做法是什麼?
- 28. 什麼是在自定義TimePicker中在C#中聲明時間變量的最佳方式
- 29. 在類中聲明時無法訪問變量。在函數中聲明時工作。爲什麼?
- 30. 在PHP中存儲類變量的最佳方式是什麼?
如果在多個方法中引用相同的視圖?更有意義的是隻需「查找」一次,你不覺得嗎? –
是的,但從性能和資源節約的角度來看,什麼是最好的? – spacebiker
如果你只需要找一次,性能總是更好。 –