如何提高一款界面客户端软件操作的流畅度
来源:互联网 发布:华为手机人工智能在哪 编辑:程序博客网 时间:2024/06/05 11:53
个人也做过好长时间的界面开发,能实现各种漂亮的Or繁琐的界面,自认为水平还不错、、、这里就说个人的几点经验吧。
如果对于一款大型的客户端软件,好吧,就拿eclipse说吧。eclipse的启动速度大家都知道,非常慢,一个进度条读了半天。如果没有那个进度条,用户多半快等的崩溃了。eclipse它加载了那么多东西,实际我们程序员用到的功能点只有几个,许多功能模块用不到也给加载了,这就不应该了。这就涉及到我说的第一点:用不到的东西就不要去初始化。这点office做的很好:上面一排菜单(开始、插入、页面布局等等),点第一下的时候会楞个1s左右,这1s就是初始化所点的菜单界面再显示出来,之后再点就没有延迟了。
第一点其实是个正常的程序员都知道,但是做到就不一定了,个人认为做到这点非常难。这点,大能到每个工具栏菜单,小能到每个tabpane,都要实现。如果从界面程序的整体架构考虑,作用奇大。
第二点:一个大的应用程序,肯定有一些重复的大的组件。所以呢,要考虑这些组件能不能用一个实例?用单例有个好处,对于那些启动时必须初始化的单例,可以用多线程在后台执行。初始化结束后,任何时候随叫随到,没有任何延迟。唯一要考虑的就是单例驻留内存时间。
第三点:不知道大家觉得界面程序初始化时,哪些基本操作是最耗时最耗资源的?是初始化一个label,还是读取一个图片,或者布局,还是组件paint时耗时?个人认为,还是读取图片最耗时。这是我调试多款软件得出的结论、、、那么如何提高处理图片的效率呢?个人解决方法是:应该建立一个公有图片缓存,避免相同图片读取两次。同时,界面程序一开始执行时,就应该后台多线程预先读取启动时必要的图片。这样要用到的图片可以直接缓存取。
第四点:不要因为操作数据,导致界面卡死、、、比如说:可能你的界面要显示从服务器获取的新闻,那么应该后台获取服务器新闻,前台的界面显示诸如“正在加载”的字样,等数据获取完成后,前台再显示获取的新闻。
第五点:多用多线程。多线程是处理界面的利器,能够保证组件的事件派遣线程不被卡死。在多线程的基础上,可以实现各种复杂的效果,非常值得考虑。
暂时就这么多吧、、、
- 如何提高一款界面客户端软件操作的流畅度
- 一款软件界面的重要性
- 分享一款非常好用流畅的gif录制软件
- 关于手机如何提高流畅度
- 软件如何流畅
- 提高UI流畅度
- 如何避免OOM 和提高ListView流畅度
- 如何设计一款软件的一些感想
- 如何设计一款优秀的软件架构
- 如何挑选一款合适的办公软件?
- 如何设计一款优秀的软件架构
- 如何设计一款优秀的软件架构
- #提高Android Studio流畅度
- Android提高UI流畅度
- 提高Android studio流畅度
- iOS_界面流畅的细节
- 一款不错的Linux命令行下的FTP客户端软件
- 如何优化tableView的流畅度
- live555简介
- 学以致用之javascript数组原型
- 数据库存储过程学习笔记
- new的一个可能实现
- ios 自定义时间日期格式
- 如何提高一款界面客户端软件操作的流畅度
- 腾讯Q组内部测试题
- EditText用法小结
- DBUtil用法之ResultSetHandler 和 QueryRunner总结
- Android Building System 分析
- 通过自定义cell添加的button确定其所在cell的indexPath
- 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件时失败
- 28335 eCAN中断配置
- 数据库隔离级别