Windows phone 7 开发注意事项

1. 所有的线程,特别是可能会长时间运行的code,如 while,foreach 循环,一定要加对特定标志位的检查,如是否已经lougout,如果是,那么理论上所有的线程都要停止,否则,重新login,就会出现线程共享问题,和脏数据问题,而且检查起来也特别麻烦。 这个就是异步调用比同步调用所麻烦的地方,呵呵! 特别注意: 循环访问DB的地方,因为这个会比较耗时间,还有就是解读server传来的xml文件时。

2. Sock不可重用,用完后要释放掉。

3. 在新的sock建立之前,要将所有和之前的sock相关的所有线程停掉,所有和接收,发送消息的变量清空。

4.使用单独的线程来处理发送和接收的相关逻辑。如ThreadReceive,用来接收消息,并转为command,逐个执行

ThreadSend,用来发送所有的commands. DirectorySend用来存储所有已发送的command(ID => key),用来为接收的Thread处理接收消息时,匹配对应的command.

5. 使用Event,带server 的消息回来后,处理相关的逻辑。

6. 数据绑定和event的订阅和释放要放在onNavigationTo和

onNavigationFrom方法中。

7. 对耗时的操作要放在this.Dispather中异步执行。

8.数据刷新参照之前的数据绑定和刷新的文件。

9.对自定义的CustomerControl,尽量采用数据绑定的方法来自动刷新UI,而不要采用暴露属性和刷新UI的方法。对特定的control,甚至可以将datasource都不暴露,用到的地方要做的只是堆放control,不需要处理任何逻辑。

做个快乐的自己。
原文地址:https://www.cnblogs.com/Jessy/p/2298017.html