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

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

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