1) 4.X下 viewgroup 不必定會向下傳遞requestLayout,當onlayout的速度比較慢(好比子View比較複雜之類的緣由),系統會跳幀!此時子View下層的view可能就不會再被調用requestLayout的onMeasure和onLayout了。佈局
解決方法就是優化程序,減小子View的層數,好比很是複雜的佈局,使用GridLayout之類的方式來解決,而不僅是用LinearLayout和FrameLayout。若是優化也不能解決問題,考慮到機器性能也受到其它因素影響,能夠考慮針對性調用必需要刷新View的requestLayout。界面慢些比界面出錯要好接受一些。性能
2)4.1.1下ImageView的圖片出現花屏。(此問題在4.2以上版本不會出現)優化
背景說明:我爲了控制內存,把全部須要加載大圖片的drawable都作了一層代理,底層使用LruCache來管理圖片佔用的內存,避免一次加載太多圖片時出現內存溢出。ui
問題分析:對於主view打開從view後,連續打開不少張大圖後,會出現主view已經顯示的圖片實際上在內存中已經釋放,系統使用硬件加速的方式進行繪製時該內存區域已經清空,致使出現花屏現象。 而我從新加載圖片的地方是在Drawable的draw方法中,在4.1.1下,若是硬件加速則不會再次調用此方法,因此此時須要在對應的ImageView中調用View.setLayerType(View.LAYER_TYPE_HARDWARE, null);代理
更多資料可見:http://zuiniuwang.blog.51cto.com/3709988/721798/blog