2017-01-10 73 views
-1

我有一個約150個視圖的XML文件。是的,我知道這是很多,我從Android Studio收到一條消息,說我不能超過80個視圖。但是我不能刪除任何低於150的視圖。我考慮使用列表視圖,但它以我想要的方式工作。XML中的視圖太多不好?

問題是,這麼多的意見會讓應用程序崩潰/減慢設備?我已經在我的S7上試過了,它的工作原理非常好。我最低的API是17,這是4.2。 4.2設備是否能夠在沒有任何問題的情況下處理這個XML?

謝謝。

回答

3

擁有過多數量的View s的問題在於,Android經常需要測量,佈局和繪製它們,並且它會遍歷整個View層次結構來執行此操作。如果View s的數量太大,以至於此遍歷需要比屏幕刷新率更多的時間,那麼您將跳過幀,並且您的UI可能顯得滯後或不連貫。

如果不是所有的這些View的需要是在屏幕上一次(例如,如果您使用的是ScrollView持有非常大的容器,用戶可以通過滾動),那麼你或許應該切換到使用RecyclerView

如果所有這些視圖都需要同時在屏幕上顯示,那麼您可以考慮編寫定製的View,它可以一次顯示所有內容,而不是單獨繪製個別事物的個人View。這可以極大地減少度量/佈局/繪製遍歷的時間和複雜性。

很難在不知道關於用戶界面的更多細節的情況下提供方法,但希望能夠解釋這個問題。

+0

我正在使用滾動視圖。 SOrry忘了提到這一點。我將不得不按照您的建議學習如何使用RecyclerView。非常感謝。 – DroidGalaxy