Surface::setbuffersDimensions Log being spammed Surface::setbuffersDimensions Log being spammed android android

Surface::setbuffersDimensions Log being spammed


These log come when we have EditText with cursor, And that cursor blink is responsible to redraw screen.

Surface::setBuffersDimensions(this=0x7f4ccc7c00,w=1080,h=1920)
D/OpenGLRenderer: WorkerThread 0x7f7c07f000 running

When I did

android:cursorVisible="false"

these logs were gone.

So when studio screen become spam with these logs, Its an alert for developer to check UI draw pattern.


This log means that something on your screen is being redrawn.
It is shown only on few devices, but whatever the device you are using, you can enable 'hardware layers updates' or 'gpu view updates' in developer options and you'll see flashed zone, which is being redrawn.
Moreover, if the issue exists on one device, it's likely that it exists on others too.


If anyone else finds this issue, make sure that you don't have something like a ProgressBar or so that you're not stopping from rendering after the WebView has finished loading.In Xamarin.Android, I had to override OnPageFinished, from the WebViewClient, and set progressBar.Visibility = ViewStates.Gone;. There's also a link in there to a GitHub repo (not mine) that has some other WebViewClient override implementations:

        public class MyWebViewClient : WebViewClient    {        public override bool ShouldOverrideUrlLoading(WebView view, string url)        {            view.LoadUrl(url);            return false;        }        //More overrides: https://github.com/xamarin/monodroid-samples/blob/master/MonoIO/UI/MapFragment.cs        public override void OnPageFinished(WebView view, string url)        {            base.OnPageFinished(view, url);            progressBar.Visibility = ViewStates.Gone;            view.Visibility = ViewStates.Visible;        }    }