博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2012年12月9日

摘要: 内容预告:特殊的文件夹(Shared/Media,Shared/ShellContent,Shared/Transfer)用ISET浏览本地文件夹后台文件传输使用SD存储卡但不包括:本地数据库(基于LINQ的sqlce)SQLite本地数据存储概览:打包管理器把所有的App放到"安装文件夹",App存储数据到"本地文件夹"。定位存储位置的不同方式:WP8文件存储的备选方案:三种方式// WP7.1 IsolatedStorage APIs var isf = IsolatedStorageFile.GetUserStoreForApplication() 阅读全文

posted @ 2012-12-09 10:50 淡如水wp 阅读(8558) 评论(1) 推荐(3) 编辑

摘要: 内容预告:线程入门(线程概念,创建线程)同步基础(同步本质,线程安全,线程中断,线程状态,同步上下文)使用线程(后台任务,线程池,读写锁,异步代理,定时器,本地存储)高级话题(非阻塞线程,扶起和恢复)同步的本质:下面的列表总结了.NET同步线程的工具:阻塞函数:Sleep:阻塞线程一定时间。Join:阻塞另一个线程至本线程完成。加锁结构:lock:保证只有一个线程可以存取同一个资源,或操作一段代码。不能跨进程。速度快。Mutex:保证只有一个线程可以存取同一个资源,或操作一段代码。可以用来阻止一个程序启动多个线程。可以跨进程,速度一般。Semaphore:保证不超过某个数量的线程可以存取同一个 阅读全文

posted @ 2012-12-09 10:49 淡如水wp 阅读(4368) 评论(4) 推荐(0) 编辑

摘要: 内容预告:awaitable的对象如何工作并行处理的新方法用async替代BackgroundWorkder了解为什么不再使用线程和线程池异步函数与基于任务的编程模型(TPM==Task Programming Model):WP7.1用.NET4.0的模式支持异步编程:BeginXYZ,EndXYZ函数,如HttpWebRequest.BeginGetResponse, EndGetResponse。WP7.1异步事件模型:设置一个Completed事件处理器,然后用XYZAsync调用操作,如WebClient.DownloadAsync函数和DownloadCompleted enent 阅读全文

posted @ 2012-12-09 10:01 淡如水wp 阅读(3991) 评论(0) 推荐(2) 编辑

摘要: 内容预告:Application Bar页面导航处理页面的横竖向改变处理不同的屏幕分辨率本地化Toolkit页面过渡Frame 和 Page:Frame是最外层的窗器,是PhoneApplicationFrame类,包括Page和系统元素(像系统托盘,ApplicationBar)。Page填充整个Frame的内容区域,从PhoneApplicationPage类派生,包括一个Title,可选择是否加入ApplicationBar。页面导航:Silverlight在WindowsPhone上用基于页面的导航模式,类似Web页面导航,每个页面有一个URI,每个页面本质上是无状态的。private 阅读全文

posted @ 2012-12-09 10:00 淡如水wp 阅读(3295) 评论(3) 推荐(2) 编辑

摘要: 内容预告:Windows Phone 设计设计一个应用介绍XAML布局样式和主题设计时数据显示数据绑定Lists 和 LongListSelectorWindows Phone 设计风格:WindowsPhone团队的设计灵感来自大都市的标牌,开发时应反映这种风格。Windows Phone 设计原则:1,清爽,简单,开放,快速快速响应专注主要功能用很少做很多减少不必要的元素令人愉快地使用空间全屏绘制2,展示排版清晰且漂亮直接表达信息坚定地偏向重量,平衡,缩放3,充满情感感觉灵敏和鲜活创造一个系统增加可用性体现UI之间的过渡的重要性增加维度和深度4,内容,而非装饰深入内容,取代装饰取消非内容的 阅读全文

posted @ 2012-12-09 09:59 淡如水wp 阅读(1998) 评论(1) 推荐(2) 编辑

2012年12月8日

摘要: 内容预告:WP8中新的开发平台应用开发模型WinRT的WP8版本支持的开发模式WP8开发入门新功能预览用Windows Phone的开发工具与WP7.X的兼容性新的WP8硬件:Nokia Lumia 920, 820, HTC 8X, Huiwei W1, Sumsung ATIV S。新的硬件配置:多核,新的图形处理器,更大的内存,多分辨率,存储卡,加密存储,NFC。共享Windows内核:Windows8将与WindowsPhone8在系统级别共享多个组件。共享内核意味着:内核,网络,图形,文件系统,多媒体组件是相同的。硬件制造商可以用同样的驱动工作。WindowsPhone支持多核。稳定 阅读全文

posted @ 2012-12-08 16:57 淡如水wp 阅读(3122) 评论(2) 推荐(3) 编辑

2012年12月5日

摘要: 内容预告:线程入门(线程概念,创建线程)同步基础(同步本质,线程安全,线程中断,线程状态,同步上下文)使用线程(后台任务,线程池,读写锁,异步代理,定时器,本地存储)高级话题(非阻塞线程,扶起和恢复)概览:C#支持通过多线程并行地执行代码,一个线程是独立的执行个体,可以和其他线程同时运行。CLR和操作系统会给C#程序开启一个线程(主线程),可以被用来作为创建多线程的起点,例子:class ThreadTest {static void Main() {Thread t = new Thread (WriteY);t.Start(); // Run WriteY on the new threa 阅读全文

posted @ 2012-12-05 01:24 淡如水wp 阅读(14267) 评论(0) 推荐(3) 编辑

2012年11月29日

摘要: 深入理解值类型:值类型的内存布局更简单,但是它引入一些限制和装箱,装箱是一个代价高昂的过程。用值类型的主要原因是其内存密度高而且开销少。下面还是以简单的Point2D来讨论:public struct Point2D{public int X;public int Y;}Point2D实例以X=5, Y=7初始化的内存布局就像下图一样,没有额外的开销:少数罕见的情况下,需要自定义值类型的内存布局,一个例子是为了达到互操作的目的,当值类型的实例原样传到非托管代码时。可以通过两个属性来做这种自定义,StructLayout 和 FieldOffset。StructLayout可以用来指定对象的字段 阅读全文

posted @ 2012-11-29 17:23 淡如水wp 阅读(722) 评论(0) 推荐(0) 编辑

2012年11月27日

摘要: 一、引子 假如有一个Point2D类表达一个二维空间--点,每个坐标都是一个short类型,整个对象有4个字节。如果存储100万个点,会用多少字节的空间?答案是取决于Point2D是值类型还是引用类型,如果是引用类型,100万个点将会存储100万个引用,这些引用在32位操作系统上就是40M左右,但这些对象本身还要占最少同样的空间,事实上,每个Point2D将会占12个字节的空间,这样算下来总的内存数在160M。但如果是值类型,没有一个多余字节的浪费,就是整整40M,只有引用类型时的1/4,不同就在于值类型的内存密度。 存储成引用类型还有一个缺点是如果想在这个巨型的堆对象引用数组(非连续存储.. 阅读全文

posted @ 2012-11-27 23:30 淡如水wp 阅读(1726) 评论(2) 推荐(0) 编辑

摘要: 一、性能衡量要素CPU使用率(百分比)物理/虚拟内存使用量(KB,MB,GB)缓存命中率(次数,率/每秒)页面错误率(次数,率/每秒)数据库存储时间(率/每秒)内存分配(字节数,对象数,率/每秒)执行时间(字节数,对象数,率/每秒)网络操作量(次数,率/每秒)硬盘操作量(次数,率/每秒)响应时间(毫秒)垃圾回收(次数,率/每秒,花费的时间)异常(次数,率/每秒)启动时间(毫秒)并发冲突 (次数,率/每秒)二、不同场景下的看重因素 客户端程序:启动时间,内存使用量,CPU使用率。 服务端程序:CPU使用率,缓存命中率,并发冲突,内存分配,垃圾回收。 WEB应用:内存使用量,数据库存储时间,... 阅读全文

posted @ 2012-11-27 17:30 淡如水wp 阅读(699) 评论(2) 推荐(0) 编辑