【发布时间】:2016-11-27 01:47:58
【问题描述】:
在我的 android 应用程序中,我在一个类中使用了 5 个 API,在 onCreate 中一个一个地调用它们,但这会使我的应用程序变慢,如何优化我的代码以使其更快。
我的代码是这样的。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
API1();
API2();
API3();
API4();
API5();
}
// all the Apis are call in onCreate
public void API1() {
FetchData fetch = new FetchData(this);
fetch.response = new FetchListener() {
@Override
public void fetchFinish(String output) {
try {
JSONObject jobjOUT = new JSONObject(output);
JSONArray jsarray = jobjOUT.getJSONArray("details");
for (int i = 0; i < jsarray.length(); i++) {
JSONObject obj = jsarray.getJSONObject(i);
String a = obj.getString("abc");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
try {
fetch.execute("http://example.com/api/something.php?param=xyz");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void API2() {
// same code here
}
public void API3() {
// same code here
}
public void API4() {
// same code here
}
public void API5() {
// same code here
}
}
我的问题是我可以同时调用所有 API 而不是一个一个调用它们。请给我一些优化代码的建议。 谢谢你
【问题讨论】:
-
您可以立即致电他们。 Android 支持多线程,使用它。
-
感谢@Shubhank。但是你能告诉我如何使用多线程我是编程新手。我为此尝试了 Handler,但结果相同。
-
并且不要在主线程上做冗长的处理,否则会阻塞你的 UI。
-
我使用 Log.e("abc" , result);在每一行之后都会减慢处理速度。
标签: java android json oop optimization