[閒聊] GridView in ScrowView捲動不順暢解法

作者: Deltaguita (貝里斯)   2014-09-01 17:35:40
不知道板上有沒有使用者同樣嘗試過把GridView 或是ListView放進scrowView?
網路有蠻多相關的解法小弟就不獻醜了
例如:
http://stackoverflow.com/questions/4523609/grid-of-images-inside-scrollview
但是小弟想問問不知道各位有沒有遇到捲動不順暢的情形呢?
一些類似的提問:
http://my.oschina.net/u/174250/blog/146265
http://www.eoeandroid.com/thread-201964-1-1.html
裡面的回答大多是加載資料過久造成的,網友建議分次加載
小弟對於這些回達感到疑惑,所以分別監控一下onMeasure、getView的次數與時間
監控完我發現這並不是造成滾動不順暢的原因,
實際上在我們複寫gridView的onMeasure方法後,
adapter的每個Item只需要執行一次getView就行了,
加載資料並不會造成後續ScrowView捲動不順暢的情形
問題的線索似乎到這裡就斷了
後來我又突然想到 被覆寫onMessure的gridView可以視為一種客製UI元件
所以我又用客製原件跟scrow 這個關鍵字去查資料
後來找到了這篇文章
http://blog.csdn.net/internetman/article/details/7098363
節錄第一小段:
启用硬件加速的最简单方法就是为整个系统打开硬件加速的全局设置。
如果你的程序是标准View或者是Drawable 则硬件加速的全局设这并不会造成不良的影响。
然而硬件加速并不支持所有2D画的操作,
所以开启硬件加速可能会对使用自定义组件的应用程序造成影响,
问题常常表现在不可见的元素异常和错误的像素渲染,
为了解决这个问题Android可以让你选择启动或者禁用以下级别的硬件加速:
--
所以小弟在Android Manifest 加入了這一行code
android:hardwareAccelerated="false"
滾動到gridView時的卡頓問題果然改善許多,流暢度只比原生的元件差上一點
應該是關閉硬體加速的關係,但完全是可以接受的範圍,有興趣的板友可以實驗看看
作者: zerofinal (人生~)   2014-09-01 18:04:00
推一個

Links booklink

Contact Us: admin [ a t ] ucptt.com