随着我们继续追求稳定性和性能,我们很高兴获得您对Xamarin.Forms 2.3.5的第一个预发布的反馈。 本次发布包含超过130种修复和增强功能,我想强调一下我们最为您的探索:快速渲染器,ListView增强功能和macOS预览!
Android的快速渲染器
快速渲染器背后的概念非常简单:通过平坦化控制嵌套来减少通货膨胀和降低成本。简单几乎总是表现更好!我们在第一批优化渲染器中提供按钮,图像和标签。使用它,什么都不做;它们在这个预发行版中默认启用。
我们的初步测试可以提高2x速度的改进,以便使用这些控件进行查看。当大量滚动数千行时,使用这些控件的单元格的大ListView滚动显然更平滑和恢复得更快。很清楚,并不是真正的惊喜,硬件,操作系统版本以及视图的复杂性都是影响您的结果的重要因素。
加入我们在论坛上的表演讨论,让我们知道你的结果。我们还要求XAML布局贡献来建立我们的性能测试套件。我们很乐意参与!
我们有更多的工作要对Android和iOS的剩余控件执行此重构,但我们很高兴分享我们迄今为止所拥有的功能。
ListView增强功能
我们继续削减业绩表现。 默认情况下,Android上的快速滚动已启用,可能会使用“特定平台”设置。
-
listView.On<Android>().SetIsFastScrollEnabled(true);
如果您正在使用像我这样的共享项目,并且与Android进行命名空间冲突,那么这是一个很好的解决方法:
-
using Platform = Xamarin.Forms.PlatformConfiguration;
-
...
-
listView.On<Platform::Android>().SetIsFastScrollEnabled(true);
使用FastScrollEnabled,您现在可以使用Section Indexes。
Android不是ListView爱的唯一受益者。 iOS和UWP获得了十几个更新和修复,以解决性能,回收和报告的内存泄漏。
macOS预览
我们知道许多人一直在关注我们的MacOS后端的Xamarin.Forms从公共分支的进度和建设。 今天,我们希望每个人都能给予这个预览,并提供反馈。 以下是您需要开始的基础知识:
-
将Mac Cocoa App项目添加到您的Xamarin.Forms解决方案,并将其设置为启动项目
-
将项目引用添加到您的共享项目或PCL
-
导入任何平台特定的资源,如图像或字体
-
将此预发行版NuGet添加到所有项目和PCL
-
更新AppDelegate.cs
-
运行!
这里有一个模板AppDelegate.cs给你一个跳转开始:
-
[Register("AppDelegate")]
-
public class AppDelegate : FormsApplicationDelegate
-
{
-
NSWindow _window;
-
public AppDelegate()
-
{
-
var style = NSWindowStyle.Closable | NSWindowStyle.Resizable | NSWindowStyle.Titled;
-
-
var rect = new CoreGraphics.CGRect(200, 1000, 1024, 768);
-
_window = new NSWindow(rect, style, NSBackingStore.Buffered, false);
-
_window.Title = "Xamarin.Forms Mac";
-
_window.TitleVisibility = NSWindowTitleVisibility.Hidden;
-
}
-
-
public override NSWindow MainWindow
-
{
-
get { return _window; }
-
}
-
-
public override void DidFinishLaunching(NSNotification notification)
-
{
-
Forms.Init();
-
LoadApplication(new App());
-
-
base.DidFinishLaunching(notification);
-
}
-
}
阅读(1299) | 评论(0) | 转发(0) |