我已经建立了一个Android应用程序工作正常,所以与平板电脑预计:宏碁。 7英寸API 21。
我最近买了一个新的平板电脑:宏碁。 10英寸的API 22。
现在,我得到我的日志这一行的垃圾邮件。
04-12 18:23:27.371 8776-9082/com.callbell.callbell D/Surface: Surface::setBuffersDimensions(this=0x7f9aa44000,w=800,h=1280)
并且屏幕会冻结并进入空白在随机时间间隔。我没有在日志中看到任何错误,我能找到该日志行的唯一引用是在这里
更新我已经试过这与不同的成功少数设备。
没有问题:
三星Galaxy Tab 7"
三星Galaxy Tab 10"
宏碁Iconia 8"
问题:
宏碁Iconia 10"
这些日志来当我们的EditText与光标,而光标闪烁负责重绘屏幕。
表面:: setBuffersDimensions(这= 0x7f4ccc7c00,W = 1080,H = 1920) d / OpenGLRenderer:的WorkerThread 0x7f7c07f000运行
当我做
android:cursorVisible="false"
这些日志都不见了。
因此,当工作室屏幕成为垃圾邮件,且这些日志,它为开发者一个警告,检查UI绘制图案。
此日志意味着你的屏幕上的内容正在被重新绘制。 它只能显示在几个设备,而且无论你正在使用的设备,您可以启用“硬件层更新”或开发者选项“GPU视图更新”,你会看到闪过区,目前正在重绘。 此外,如果一个设备上存在的问题,很可能是它存在于他人了。
如果任何人发现这个问题,请确保你没有像一个进度条或让你不从的WebView加载完成后呈现停止。在Xamarin.Android,我不得不重写OnPageFinished,从WebViewClient,并设置progressBar.Visibility = ViewStates.Gone;
。还有在那里的GitHub库(不是我的),有一些其他的WebViewClient覆盖实现的链接:
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;
}
}