Surface::setbuffersDimensions 日志被垃圾邮件
Surface::setbuffersDimensions Log being spammed
我构建了一个 Android 应用程序,它在平板电脑上运行良好并且符合预期:Acer。 7寸API21.
我最近买了一台新平板电脑:Acer。 10寸API22.
现在我的日志中充斥着这一行。
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
此日志表示您屏幕上的内容正在重绘。
它仅在少数设备上显示,但无论您使用什么设备,您都可以在开发人员选项中启用 'hardware layers updates' 或 'gpu view updates',您将看到正在重绘的闪烁区域。
此外,如果问题存在于一台设备上,则它也可能存在于其他设备上。
当我们有带光标的 EditText 时会出现这些日志,并且光标闪烁负责重绘屏幕。
Surface::setBuffersDimensions(this=0x7f4ccc7c00,w=1080,h=1920)
D/OpenGLRenderer: 工作线程 0x7f7c07f000 运行
我做的时候
android:cursorVisible="false"
这些日志不见了。
因此,当工作室屏幕变成带有这些日志的垃圾邮件时,它提醒开发人员检查 UI 绘图模式。
如果其他人发现此问题,请确保您没有 ProgressBar 之类的东西,这样您就不会在 WebView 完成加载后停止呈现。
在 Xamarin.Android 中,我必须从 WebViewClient 覆盖 OnPageFinished,并设置 progressBar.Visibility = ViewStates.Gone;
。还有一个 link 到 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;
}
}
我构建了一个 Android 应用程序,它在平板电脑上运行良好并且符合预期:Acer。 7寸API21.
我最近买了一台新平板电脑:Acer。 10寸API22.
现在我的日志中充斥着这一行。
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
此日志表示您屏幕上的内容正在重绘。
它仅在少数设备上显示,但无论您使用什么设备,您都可以在开发人员选项中启用 'hardware layers updates' 或 'gpu view updates',您将看到正在重绘的闪烁区域。
此外,如果问题存在于一台设备上,则它也可能存在于其他设备上。
当我们有带光标的 EditText 时会出现这些日志,并且光标闪烁负责重绘屏幕。
Surface::setBuffersDimensions(this=0x7f4ccc7c00,w=1080,h=1920)
D/OpenGLRenderer: 工作线程 0x7f7c07f000 运行
我做的时候
android:cursorVisible="false"
这些日志不见了。
因此,当工作室屏幕变成带有这些日志的垃圾邮件时,它提醒开发人员检查 UI 绘图模式。
如果其他人发现此问题,请确保您没有 ProgressBar 之类的东西,这样您就不会在 WebView 完成加载后停止呈现。
在 Xamarin.Android 中,我必须从 WebViewClient 覆盖 OnPageFinished,并设置 progressBar.Visibility = ViewStates.Gone;
。还有一个 link 到 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;
}
}