日常使用软件的过程中,偶尔会遇到软件突然卡住,再点击几次就变成“未响应”的情况。
在javafx应用中同样也会出现这种情况,在开发过程中应该尽量避免这种情况的出现。
1. “未响应”重现
应用程序出现“未响应”这种情况往往是因为在ui线程中处理一些耗时的业务,当ui线程在处理耗时的业务时,ui就会卡住。
下面通过一个示例(获取google页面title信息)来演示一下“未响应”这种情况。
这里使用 jsoup 来抓取google页面的title信息,需要引入jsoup的maven依赖:
org.jsoup
jsoup
1.13.1
编译appservice,实现抓取google页面的title信息。
public class appservice {
public static final appservice instance = new appservice();
private appservice() {
}
public string visitgoogle() {
try {
document document = jsoup.parse(new url("https://www.google.com"), 10_000);
return document.head().getelementsbytag("title").get(0).text();
} catch (exception e) {
return e.getmessage();
}
}
}