我有一個ListView
自定義Adapter
。說實話,我有很多在同一時間在屏幕上,我的Tegra 3設備開始滯後,是什麼讓我非常困惑...我發現比每個ListView
的Adapter
getView()
方法被稱爲所有可見行每時間任意動畫在屏幕上運行。這讓我喜歡每秒幾百個電話!挖掘更多,這些電話大部分是由於ListView
s父母的電話measure()
和onMeasure()
,並且 - 這是關鍵 - 它們是無用的,因爲我的所有佈局具有const大小。ListView getView()過於頻繁地被調用
所以我的問題是:如何消除這些電話?當然,我想單獨留下正確的電話(由於將項目添加到Adapter
和notifyDataSetChanged()
)。
我已經嘗試了幾乎任何東西,但是無論是整個列表都沒有繪製自己(當我重寫它的onMeasure()
並強制返回const大小而不調用super.onMeasure()
)或停止更新。
感謝您的鏈接,我會看,但我不認爲我可以以任何方式優化我的getView()方法。:/ – 2012-03-30 10:50:43
還沒有找到一個好的解決方案,但給我最多的東西是在你的鏈接中的一部電影 - 所以我將這標記爲答案。 – 2012-08-03 14:55:02
謝謝,該視頻非常有用(加速getView真的很好的提示)。我冒昧地修復了鏈接(已被打破)並添加了幻燈片的鏈接(對於那些不想看整整一小時的人)。 – Heinzi 2012-08-23 14:59:53