【发布时间】:2015-07-14 10:26:34
【问题描述】:
我的项目中的第二个活动启动非常缓慢,我不知道如何解决它。它是如何工作的(一切都在 onCreate() 中):首先它使用 json 对页面进行 get-request:
try {
DefaultHttpClient hc = new DefaultHttpClient();
ResponseHandler<String> res = new BasicResponseHandler();
HttpGet getMethod = new HttpGet(url);
String response = hc.execute(getMethod, res);
resStr = response.toString();
} catch (Exception e) {
System.out.println("Exp=" + e);
}
我知道这里的一些方法已被弃用,但我不知道如何使其更优化。结果,它返回一个包含大约 32 个对象的 JSON 数组的字符串。 然后我填充 6 个数组以将它们传递给 ArrayAdapter 以填充 ListView。获取不同类型数据的方法如下:
public static String GetWantedType(String resStr, int num) {
String jsonvalues = "";
try {
JSONArray json_Array = new JSONArray(resStr);
JSONObject json_data = json_Array.getJSONObject(num);
jsonvalues = json_data.getString("wanted_type");
} catch (JSONException e) {
e.printStackTrace();
}
return jsonvalues;
}
也许我应该在填充数组之外创建一次 json_Array 并将其作为 JSONArray 而不是字符串传递给这些方法 - 我不知道它是否会影响速度。 在 ArrayAdapter 中一切似乎都很好,我正在使用 ViewHolder 并且我的滚动非常好。与启动 Activity 不同。
如何让它更好更优化?
【问题讨论】:
-
在后台做所有
network相关的工作。 -
你是否在第一个活动中添加了一些代码
标签: android json android-activity get http-get