动画在 XAML 中也有,而且基本上与 WPF 中的用法一样。不过,在 UWP 中,动画还有一种表现方式—— 通过 UI Composition 来创建。 基于 UI Composition 的动画,相对于 XAML 动画,有以下优点: 1、不使用 UI 线程,XAML 动画是共享 UI 线程的,而 ...
今天写winform的时候遇到一个问题,提示: 无法将 lambda 表达式 转换为类型“System.Delegate”,因为它不是委托类型, 主要是为了在子线程中更新UI线程,在wpf中同样的写法不会出现这个问题。 对于Control.Invoke()来说,可以接收ThreadStart和Met ...
分类:
其他好文 时间:
2017-10-26 13:27:48
阅读次数:
224
a. 解决问题 跨线程通信(UI线程) b. 用途 1. 延时执行message或runnable 2. 子线程执行耗时操作 c. 原理 Message: 消息实体 MessageQueue: 消息队列 Looper: 轮询消息队列 d. 注意点 1. UI线程Handler如何初始化的 Activ ...
分类:
移动开发 时间:
2017-10-26 11:36:05
阅读次数:
149
在WPF开发过程中我们一般都用try/catch块来捕获异常,但不是每个异常我们都能捕获,程序总会出现一些意想不到情况,抛出一些未捕获的异常,这时就要用到全局异常捕获,即在程序的最外层加上捕获未处理异常,以免程序奔溃,影响用户体验。 在WPF应用程序中,会有两大类未处理异常:一类是在UI线程抛出来的 ...
简而言之就是允许一个线程和另外一个线程进行通讯,SynchronizationContext在通讯中充当传输者的角色。另外这里有个地方需要清楚的,不是每个线程都附加SynchronizationContext这个对象,只有UI线程是一直拥有的。 在多线程操作时往往需要切回某个线程中去工作,等完成后再 ...
分类:
编程语言 时间:
2017-10-24 17:20:58
阅读次数:
297
一. 问题引入 通常,一个C语言学习者登堂入室的标志就是学会使用了指针,而成为高手的标志又是“玩转指针”。指针是如此奇妙,通过一个地址,可以指向一个数,结构体,对象,甚至函数。最后的一种函数,我们称之为“函数指针”(和“指针函数”可不一样!)就像如下的代码: int func(int x); /* ...
从类图上来看,MVP都是一个业务一个Presenter,每个Presenter都是一个接口,它还包含了View的接口,用于定于和View相关的行为,然后Activity等业务类实现View的接口,因为UI有关的操作只能在UI线程。 采用MVP模式,和View相关的接口都要由业务类实现,自然,业务类本 ...
分类:
其他好文 时间:
2017-10-18 11:50:01
阅读次数:
170
1、在非UI线程中创建fragment对象,然后start(fragment),在fragment的操作中用到了handler,这一会报错,handler can't create before loop.prepare()的错误。 原因:fragment 在子线程中创建,默认是绑定子线程的loop ...
分类:
移动开发 时间:
2017-10-17 21:49:59
阅读次数:
151
在项目中碰到多个ajax加载,loading加载出现问题,没有能第一时间加载出来。 主要原因是因为:浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。当我们执行异步ajax的时候没有问题,但当设置为同步请求时,其他的动作(ajax函数后面的代码,还有渲染线程)都会 ...
分类:
Web程序 时间:
2017-10-15 19:30:57
阅读次数:
276
在4.0之后谷歌强制要求链接网络不能在主线程进行访问,所在主线程运行就会出现这个错误 解决错误必须要创建一个子线程 因为只有主线程(UI线程)才可以跟新UI(如果不这样,就会造成线程的同步与互斥的某些复杂情况。。。)∴如果在子线程中更新UI会出现错误 解决方法 :信息机制(handler原理) 1: ...
分类:
移动开发 时间:
2017-10-14 18:37:19
阅读次数:
208