当前位置: 首页 > news >正文

招聘网站建设深圳四种基本营销模式

招聘网站建设深圳,四种基本营销模式,上海 顶尖 网站设计,怎么免费做自己的网站?xml version1.0 encodingUTF-8? 1.DisptcherObject提供了线程和并发模型#xff0c;实现了消息系统。 2.DependencyObject提供了更改通知#xff0c;实现了绑定#xff0c;样式。3.Visual是托管API和非托管API#xff08;milcore#… ?xml version1.0 encodingUTF-8? 1.DisptcherObject提供了线程和并发模型实现了消息系统。 2.DependencyObject提供了更改通知实现了绑定样式。3.Visual是托管API和非托管APImilcore的之间的关键点。4.UIElement定义了LayoutInput和Events等核心子系统。Measure让一个组件来决定自己想要的size而Arrange让父组件放置子组件并决定子组件的最终size。5.WPF的外观和行为总共有3个模型数据模型Properties交互模型CommandsEvents显示模型Template。6.不同应用程序域间的WPF可以通过INativeHandleContract来实现WPF AddIn。7.WPF定义了三个呈现曾呈现层 0 无图形硬件加速。 所有图形功能都使用软件加速。 DirectX 版本级别低于 9.0。呈现层 1 某些图形功能使用图形硬件加速。 DirectX 版本级别高于或等于 9.0。呈现层 2 大多数图形功能都使用图形硬件加速。 DirectX 版本级别高于或等于 9.0。8. WPF性能提升 1布局处理过程。再次调用布局处理的几个操作向集合中添加了一个子对象 向子对象应用了 LayoutTransform为子对象调用了 UpdateLayout 方法 用影响测量或排列过程的元数据进行了标记的依赖项属性的值发生更改。提高方法尽量使用最有效的Panel功能越强大的Panel性能成本也就越高 更新而不替换RenderTransform 从上到下生成逻辑树。2二维图形和图像处理提高方法Drawing对象比Shape对象结构简单性能更为优越但是不是从FrameworkElement集成使用时注意 使用StreamGeometry而不是PathGeometry如果需要显示缩略图尽量使用小版本的图像或者请求WPF将图像解码为缩略图大小或者请求WPF加载缩略图大小。始终将图像解码为所需的大小而不是默认大小。3行为提高方法注册DependencyObject时尽量提供默认值和PropertyMetadata而不是放在以后赋值。冻结Freezable会改善程序性能不再需要因维护更改通知而消耗资源。使用VirtualizingStackPanel而不是StackPanel注意这样子资源苏不可见时即被移除这时无法访问不可见的子元素。尽可能使用静态资源只在必须得情况下使用动态资源。避免在FlowDocument使用TextBlock而应该使用Run。避免在TextBlock里使用Run来设置文本属性。避免执行到Lable.Content属性的数据绑定。 如果数据源频繁更新应用TextBlock.Text替换。 4数据绑定提高方法性能从高到低DependencyObject 〉INotifyPropertyChanged  如果绑定到较大的对象考虑将对象拆分成多个具有少量属性的对象将IList(而非IEnumerable)绑定到ItemsCount5控件提高方法设置 IsVirtualizing 为true VirtualizationMode 为Recycling  IsDeferredScrollingEnabled为true。IsVirtualizing代表是否UI虚拟化当设置为true时表示只有当数据项在屏幕上可见时才会在内存中创建存储。 VirtualizationMode代表是否容器回收正常情况下ItemsControl会为滚动到视图中的每个item创建项容器并销毁滚动到视图之外的每个item的项容器。通过Recycling可以让控件能够将现有项容器重复利用于不同的数据项。IsDeferredScrollingEnabled代表是否延长滚动正常情况下当用户拖到滚动条上的滑块时内容视图会不会不断更新。当设置为true 表示只有当用户松开滚动条时内容才会更新。6其他尽量使用画笔的不透明度Opacity而不是使用元素的Opacity修改元素的Opacity会导致WPF创建临时图标。配置“WPF字体缓存服务”从手动为自动延迟启动这个服务如果没有启动会随着第一个WPF程序启动时启动。这样导致第一个WPF的初始化事件很长。9. WPF线程模型典型的wpf程序有2个线程一个用于负责渲染一个用于管理UI。UI线程把工作项排序到Dispatcher对象中Dispatcher对象根据工作项的优先级选择执行直到全部执行。每个UI线程必须至少有一个Dispatcher每个Dispatcher必须在一个线程里工作。 可以通过CheckAccess来判断线程是否可以访问DispatcherObject。原理是大多数类继承于DispatcherObjectDispatcherObject在构造时把当前运行线程的Dispatcher引用存储。当访问DispatcherObject时检查当前线程关联的Dispatcher于构造中存储的Dispatcher进行比较如果相同返回True不同返回False。要构建响应速度快、且用户友好的应用程序诀窍是减小工作项以最大限度地提高 Dispatcher 吞吐量。 这样工作项将永远不会因为在 Dispatcher 队列中等待处理而失效。 输入与响应之间的任何可察觉的延迟都会使用户不快。嵌套的消息泵比如MessageBox我们调用show后需要用户单击“OK才能返回。MessageBox创建的窗口必须要由一个消息泵才能进行交互。我们在等待用户单击”OK“时原始应用程序窗口不响应用户输入。具体实现 WPF使用一种嵌套的消息处理系统 Dispatcher类包含一个PushFrame的特殊方法 该方法存储应用程序的当前执行点然后开始一个新的消息泵当嵌套的消息泵执行结束时执行将在最初的PushFrame调用之后继续。PushFrame内部实现类似Win32中GetMessage、TranslateMessage、DispatchMessage的消息泵。 通过这个原理我们可以实现自己的MessageBox系统Application.Run内部调用Dispatcher.RunDispatcher.Run内部调用了Dispatcher.PushFrame(..), 实现了一个Win32的消息泵。DispatcherOperation对象用于与Dispatcher队列上的Delegate进行交互例如更改委托的优先级、从事件队列中移除委托、等待委托返回、获取委托执行之后返回的值。Application.DoEvents方法处理当前Dispatcher消息队列里的所有windows消息。关于BeginInvoke和Invoke向关联的Dispatcher的队列中插入同步或者异步工作项。 10.Weak Event Pattern传统的侦听事件可能导致内存泄漏source.SomeEvent new SomeEventHandler(MyEventHandler) 。这是因为为事件源添加事件处理程序时会创建一个事件源到事件侦听器所谓事件侦听器就是Delegate对象的强引用。这样事件侦听器就会有生命周期该生命周期和事件源的生命周期有关 除非显式的移除了事件处理程序 source.SomeEvent - new SomeEventHandler(MyEventHandler) 。当事件源从可视树中移除时事件侦听器还是有生命周期但此时事件处理程序不会被调用也就是说造成了无用的事件侦听器的还一直存在。这种情况下就需要弱事件模式。      实现弱事件模式有三种方式使用系统已有的CollectionChangedEventManagerPropertyChangedEventManager等等 使用泛型弱事件管理器WeakEventManagerTEventSource, TeventArgs, 注意有性能损失 继承WeakEventManager类实现自定义弱事件管理器。例如 class SomeEventWeakEventManager : WeakEventManager{private SomeEventWeakEventManager(){}/// summary/// Add a handler for the given sources event./// /summarypublic static void AddHandler(EventSource source, EventHandlerSomeEventEventArgs handler){if (source null)throw new ArgumentNullException(source);if (handler null)throw new ArgumentNullException(handler);CurrentManager.ProtectedAddHandler(source, handler);}/// summary/// Remove a handler for the given sources event./// /summarypublic static void RemoveHandler(EventSource source, EventHandlerSomeEventEventArgs handler){if (source null)throw new ArgumentNullException(source);if (handler null)throw new ArgumentNullException(handler);CurrentManager.ProtectedRemoveHandler(source, handler);}/// summary/// Get the event manager for the current thread./// /summaryprivate static SomeEventWeakEventManager CurrentManager{get{Type managerType typeof(SomeEventWeakEventManager);SomeEventWeakEventManager manager  (SomeEventWeakEventManager)GetCurrentManager(managerType);// at first use, create and register a new managerif (manager null){manager new SomeEventWeakEventManager();SetCurrentManager(managerType, manager);}return manager;}}/// summary/// Return a new list to hold listeners to the event./// /summaryprotected override ListenerList NewListenerList(){return new ListenerListSomeEventEventArgs();}/// summary/// Listen to the given source for the event./// /summaryprotected override void StartListening(object source){EventSource typedSource (EventSource)source;typedSource.SomeEvent new EventHandlerSomeEventEventArgs(OnSomeEvent);}/// summary/// Stop listening to the given source for the event./// /summaryprotected override void StopListening(object source){EventSource typedSource (EventSource)source;typedSource.SomeEvent - new EventHandlerSomeEventEventArgs(OnSomeEvent);}/// summary/// Event handler for the SomeEvent event./// /summaryvoid OnSomeEvent(object sender, SomeEventEventArgs e){DeliverEvent(sender, e);}}使用方法 将source.SomeEvent new SomeEventEventHandler(OnSomeEvent);source.SomeEvent - new SomeEventEventHandler(OnSome);替换为  SomeEventWeakEventManager.AddHandler(source, OnSomeEvent);SomeEventWeakEventManager.RemoveHandler(source, OnSomeEvent);参考http://msdn.microsoft.com/zh-cn/library/ms750441.aspx   WPF架构http://msdn.microsoft.com/zh-cn/library/aa970683.aspx   优化WPF应用程序性能http://msdn.microsoft.com/en-us/library/ms741870.aspx   WPF线程模型http://msdn.microsoft.com/zh-cn/library/system.windows.threading.dispatcheroperation.aspx DispatcherOperation类http://msdn.microsoft.com/zh-cn/library/system.windows.forms.application.doevents.aspx Application.DoEvents 方法http://msdn.microsoft.com/zh-cn/library/system.windows.threading.dispatcher.pushframe.aspx Dispatcher.PushFrame 方法http://msdn.microsoft.com/zh-cn/library/vstudio/aa970850(vvs.90).aspx WeakEvent模式http://msdn.microsoft.com/zh-cn/library/ms404247.aspx弱引用 转载于:https://blog.51cto.com/muzizongheng/1333025
http://www.zqtcl.cn/news/242986/

相关文章:

  • 怎么登陆建设工程网站泉州网红
  • 哈尔滨队网站网页美工跨境电商是什么意思
  • 网站规划与建设课程推广型网站建设软件
  • 山东网站建设系统网站设计哪家更好
  • 网络推广有哪些网站网络推广公司联系昔年下拉
  • 长沙专业外贸建站公司百度提交网站入口网站
  • 西安网站搭建建设定制市场营销推广策略
  • 用户等待网站速度公司网站怎么做站外链接
  • 设计新闻发布网站模板wonder audio wordpress
  • 教育与培训网站建设wordpress侧栏文章
  • 四川做网站的公司哪家好信誉好的赣州网站建设
  • seo外包网站网站的备案流程图
  • 学网站建设好么免费网页制作有哪些
  • 宁波公司网站开发招聘最便宜的视频网站建设
  • 找人做网站大概多少钱永州企业网站建设
  • 免费备案网站空间网站怎么做组织图
  • 四川省和城乡建设厅网站怎么做网站淘宝转换工具
  • 网站单页支付宝支付怎么做的排名优化公司口碑哪家好
  • 淄博网站制作服务推广做网站服务器配置
  • ppt做的好的有哪些网站有哪些广州品牌型网站建设
  • 怎么学做一件完整衣服网站网站 相对路径
  • 十大wordpress主题江门seo排名优化
  • 石家庄网站搭建定制在百度上如何上传自己的网站
  • 南宁建设厅官方网站福州中小企业网站制作
  • 模板网站建设平台昆山专业网站建设公司哪家好
  • 百度指数的数值代表什么网站建设优化的作用
  • 河南便宜网站建设价格wordpress页面图片插件
  • 网站生成wordwordpress汽车主题公园
  • 网络营销成功的案例及其原因湖南网站seo地址
  • 潍坊企业网站模板绩效考核表 网站建设