周六,头目说在某些LINUX机器上,启动泰山OFFICE后无法获取剪贴板数据。吾就觉得奇怪了,这个剪贴板可是吾专门设计的,也是久经考验了,怎么就有问题了?开机,安装,正常。头目说某机某机不正常。吾试之……果然不对。
于是跟踪了一下流程,结论是这样的:耗时250ms,而吾代码只等待100ms,超时了。也就是说,机器太慢导致的。
这个问题怎么解决呢?吾进行了一番测试,决定专门提供一个启动时初始化的函数,在函数中启动线程初始化,通过一个启动标志决定等待时间的长短。
最早设计时,并没有考虑LINUX/WINDOWS的差异,一些逻辑也可以优化一下。结合这两个问题,可以重新优化一下代码,使得逻辑更清楚。比如,吾现在就想写成Clipboard/ClipboardWindows/ClipboardLinux三个类。