ViewHolder爲什麼是被設計成static類型的

http://my.oschina.net/u/579493/blog/183766

ViewHolder爲什麼是被設計成static類型的,本人一直沒弄清楚。在網上找了些資料但是一直沒能看到一個能說服我的理由。又說節省內存,保持對象的唯一性,還有說保持圖片不錯亂但是個人感覺都不怎麼靠譜。今天我試了下將static去掉照常運行沒感覺和以前有什麼區別。後來我查了下static類的一些特性,首先ViewHolder是一個內部類若是static類的話則不需要依賴外部類的對象。也就是說只有static的內部類的成員變量纔可以被聲明成static類型,若內部類不是static類型的則不可以聲明靜態成員變量。不知道是不是static內部類的這個特性吸引了設計者?如果有誰清楚這個問題還請不吝賜教。


非static內部類會持有外部類的引用,這樣就會涉及到外部類的釋放依賴內部類。如果內部類過多的引用外部類的話,這樣很容易造成外部類得不到釋放。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章