1. 程式人生 > >謹慎去獲取控制元件的高和寬,以防帶來不必要的效能問題

謹慎去獲取控制元件的高和寬,以防帶來不必要的效能問題

int w = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
        int h = View.MeasureSpec.makeMeasureSpec(0,View.MeasureSpec.UNSPECIFIED);
        ssidtext.measure(w, h);
        int width =ssidtext.getMeasuredWidth();
        int height =ssidtext.getMeasuredHeight();


        ViewTreeObserver vto = ssidtext.getViewTreeObserver();
        vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            public boolean onPreDraw() {
                int height = ssidtext.getMeasuredHeight();
                int width = ssidtext.getMeasuredWidth();
                return true;
            }
        });

我們知道常見兩種去獲取控制元件高和寬的方法,但其實我這裡要說的是在沒有絕對必要的情況下,最好不要做這件事情。如果能夠繞開,就儘量繞開,因為上面兩種方法都會給我們的UI介面帶來效能問題。