zoukankan      html  css  js  c++  java
  • 1. 个人经验总结

    • 多线程
      • 耗时长的操作尽量不在界面主线程里做,另外起线程
        • 如果其中又需要更新界面,那么要找某种方式来进行(比如winform中要用BeginInvoke,BeginInvoke的原理是?)
        • 同时注意合理使用“loading...”文本或者图片或者progress bar
      • 由于和web应用相比,桌面应用大量自行处理多线程,所以要特别注意数据同步等问题
      • 如果在窗体的构造函数中使用多线程,要注意线程中操作窗体元素可能会出问题,因为有可能主线程的窗体还未创建完成
        • 调试时可能是Ok的,是因为断点在子线程停住了,主线程自己跑完了,所以这时候窗体是创建完成了,但实际运行过程中是不同的,很可能为创建完成
        • 如在winform中,可以选择将构造函数中的多线程逻辑放到Form的Shown生命周期时间中去处理,这样可以保证运行这段代码时,窗体肯定加载完成了
    • 尽量将UI操作和逻辑/数据操作分开
      • 当然WPF等框架正常使用的话,应该已经分清楚了
      • 如果是在winform这种没有从框架级别上区分开的技术中,尽量分别作为独立的类或者函数
  • 相关阅读:
    解决ScrollView嵌到listView冲突问题
    Popupwindow 的简单实用,(显示在控件下方)
    BroadCast,BroadCastReceiver
    NSURLSession
    sirikit
    MJExtension使用
    iOS中的translucent和automaticallyAdjustsScrollViewInsets用法
    如何获取LanuchImage-1(详细)
    如何获取LanuchImage
    MJRefresh详解
  • 原文地址:https://www.cnblogs.com/wyp1988/p/11387824.html
Copyright © 2011-2022 走看看