最近我经历了一个机器人实例已经创建,如果尝试再次创建它(显然没有调用robot.cleanUp())它会永远挂在那里。我对此进行了调查,并了解到每次创建 Robot 实例时都需要一个 ScreenLock。
所以我的问题是这种行为可以通过 Singleton 类来实现。那么为什么我们被允许创建另一个 Robot 实例,尽管它是一个死锁的情况。我的意思是,如果我要创建机器人,清理它并再次创建,那么我为什么要首先清理并重新创建它?应该有一个 API 可以根据用户请求提供 Robot 实例,因为当前的方法没有意义。