gpt4 book ai didi

java - 获取 HTML 的编译和安装时间较长

转载 作者:行者123 更新时间:2023-12-02 00:56:22 26 4
gpt4 key购买 nike

编译代码花费的时间太长(大约 5 分钟以上,仅适用于这个应用程序)。另外,当它最终完成时,完整的 HTML 不会显示在 logcat 中!只是部分。你们能指出代码有什么问题吗?是因为“InputStream”逐字符读取(因为 HTML 很大)吗?

公共(public)类 MainActivity 扩展 AppCompatActivity {

public class DownloadTask extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... urls) {

String result = "";
URL url;
HttpURLConnection urlConnection = null;

try {
url = new URL(urls[0]);
urlConnection = (HttpURLConnection) url.openConnection();
InputStream in = urlConnection.getInputStream();
InputStreamReader reader = new InputStreamReader(in);
int data = reader.read();

while (data != -1) {
char current = (char) data;

result += current;

data = reader.read();
}

return result;

} catch (Exception e) {
e.printStackTrace();

return "Failed";
}
}
}

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

DownloadTask task = new DownloadTask();
String result = null;
try {
result = task.execute("http://www.amazon.com").get();
} catch (Exception e) {
e.printStackTrace();
}

Log.i("Result",result);
}

最佳答案

是的。这样的系统调用越多,性能就越差。您应该一次读取多个千字节,而不是字符。如果您需要一次循环一个,请稍后再执行。

另外,使用 StringBuilder!!!! + 在字符串上的效率非常低。对于每个字符,您都会创建一个新的 String 对象。 StringBuilder 避免了这种情况。

关于java - 获取 HTML 的编译和安装时间较长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815847/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com