我正在使用 Xamarin.Forms 开发 iOS 应用程序。
此应用程序正在使用 UIWebView 控制器,该控制器显示托管在我的服务器上的 Web 应用程序。每次我发出请求时,我都必须发送一个自定义标头以识别此请求来自移动应用程序而不是来自浏览器,为此我使用了一个NSUrlProtocol对象,该对象覆盖了插入每个请求的自定义标头。这是我的代码:
public override NSUrlRequest Request {
get {
NSMutableDictionary headers = null;
if (null == base.Request.Headers) {
headers = new NSMutableDictionary ();
} else {
headers = new NSMutableDictionary (base.Request.Headers);
}
headers.Add(NSObject.FromObject(AppVariables.headerVariable), NSObject.FromObject (AppVariables.appVersion));
NSMutableUrlRequest newRequest = (NSMutableUrlRequest)base.Request.MutableCopy ();
newRequest.Headers = headers;
return newRequest;
}
}
我现在遇到的问题是,自从我开始使用NSUrlProtocol以来,我注意到页面的加载时间增加了很多。现在加载需要 10 秒,在此实现之前页面大约需要 3 秒。
谁能指出一些有用的方向来克服这个问题?