0
我正在使用Android Studio實現應用程序。 我有一個用例如下:
當用戶點擊導航抽屜時,我將一個碎片充氣到main_activity。
因此,我從服務器獲取所需的數據作爲JSON並將其插入到SQLite中,最後我填充片段。
我使用的AsyncTask類讀取JSON和插入數據Android I /編舞:跳過了xxx幀
public class AsyncTaskRunner extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
try {
Log.i(TAG, "doInBackground");
queue = VolleySingleton.getInstance().getRequestQueue();
StringRequest stringRequest = new StringRequest(Request.Method.GET,
Constants.URL_ADVERTISEMENTS,
new Response.Listener<String>() {
@Override
public void onResponse(final String response) {
try {
jsonArray = new JSONArray(response);
writeDataToDB();
loadDataFromLocalDataBase();
SimpleDateFormat dateFormat = new SimpleDateFormat(Constants.DATE_FORMAT);
SharedPreferences setting = getActivity().getSharedPreferences(Constants.SETTING_NAME, Context.MODE_PRIVATE);
Calendar calendar = Calendar.getInstance();
SharedPreferences.Editor editor = setting.edit();
String now = dateFormat.format(calendar.getTime());
editor.putString(Constants.LAST_ADVERTISEMENT_SYNC_DATE, now);
editor.commit();
} catch (Exception e) {
Log.e(TAG, "DEVELOPER:" + e.getMessage());
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e(TAG, "onErrorResponse occured :" + error.getMessage());
}
});
stringRequest.setTag(TAG);
queue.add(stringRequest);
} catch (Exception e) {
Log.e(TAG, "Load data has error:" + e.getMessage());
}
return null;
}
}`
你的問題是什麼?你想調試'信息'日誌嗎? –
[該應用程序可能在其主線程上做了太多工作]的可能重複(http://stackoverflow.com/questions/14678593/the-application-may-be-doing-too-much-work-on-its - 主線程) – 0X0nosugar