weixin_44826806 2022-08-25 09:08 采纳率: 100%
浏览 46
已结题

使用双缓冲后Windows XP系统启动软件画面仍然闪烁

WindowsXP-SP3 启动软件画面概率性闪烁上半部分,已经使用双缓冲技术,单启动画面是不闪的,目前定位到启动Java虚拟机不闪烁,打开软件主界面会闪,但是在Java里面新建Jframe,启动画面仍然会闪,请问一下这是和外壳有关还是Java有关,怎么接下去定位错误呢

  • 写回答

1条回答 默认 最新

  • 於黾 2022-08-25 09:14
    关注

    闪就是因为错误的执行顺序
    很多操作会让控件刷新
    如果你不能优化这些刷新操作,就会导致控件反复刷新
    比如你要给一个label赋值,那么应该先拼接一个string然后整个值赋值给label,而不是一行一行的append进去,值每改变一次它就会刷新一次
    还有一些给控件初始化赋值的函数,如果不小心会调用多次反复执行
    这些都是需要你自己去排查的
    -=-=-=
    如果你实在没有精力或者没有能力优化这部分,其实也可以学大部分软件启动时的做法,先显示一个启动画面(类似过场动画)把后面正加载的部分遮挡住,而不是让用户看着控件一点一点的加载出来

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月29日
  • 已采纳回答 8月26日
  • 创建了问题 8月25日

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效