misakuo / 3dTagCloudAndroid

Tagcloud component for android
MIT License
1.65k stars 291 forks source link

Plenty of frames are over 16ms. Fix it. #3

Closed songzhw closed 8 years ago

songzhw commented 8 years ago

Hi, 通过Profile GPU Rendering看, 部分帧的绘制都超过了16ms。 追踪代码,发现onMeasure()被调用了多次,而其实我们代码里要实现的是子View的layout的变化,不需要再次重新Measure. 以此为思路, 找到根源在于requestLayout()方法。 这个方法会让父View重新measure & layout自己。 所以改动一下, 只layout自己的各个子项即可。

效果图稍后附上~

songzhw commented 8 years ago

修改前: 3d_ball_gpu_overweight

修改后: 3d_ball_gpu_improve_01

misakuo commented 8 years ago

thanks a lot!