簡體   English   中英

稱為遞歸onResume活動java.lang.StackOverflowError的方法:堆棧大小8MB

[英]Method called recursive onResume Activity java.lang.StackOverflowError: stack size 8MB

我在datetimeformat中收到此異常,它運行多個ti

public String parseDateToddMMyyyy(String time) {
    String inputPattern = "yyyy-MM-dd";
    String outputPattern = "dd-MM-yyyy";
    SimpleDateFormat inputFormat = new SimpleDateFormat(inputPattern);
    SimpleDateFormat outputFormat = new SimpleDateFormat(outputPattern);

    Date date = null;
    String str = null;

    try {
        date = inputFormat.parse(time);
        str = outputFormat.format(date);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return str;
}

我在例外之下

Fatal Exception: java.lang.StackOverflowError: stack size 8MB
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.BaseActivity.parseDateToddMMyyyy(Unknown Source)
   at com.pixako.trackn.JobListTest.onResume(Unknown Source)
   at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1277)
   at android.app.Activity.performResume(Activity.java:7142)
   at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3850)
   at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3914)
   at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3070)
   at android.app.ActivityThread.-wrap14(ActivityThread.java)
   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1659)
   at android.os.Handler.dispatchMessage(Handler.java:102)
   at android.os.Looper.loop(Looper.java:154)
   at android.app.ActivityThread.main(ActivityThread.java:6823)
   at java.lang.reflect.Method.invoke(Method.java)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1563)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1451)

我在這里叫它

public void orderingResult(JSONArray Result) {    
for (int i = 0; i < Result.length(); i++) {
try {
     JSONObject jobj = Result.getJSONObject(i);
     try{               jobj.put("ausTimeJobDate",parseDateToddMMyyyy(jobj.getString("Job_Date")));
     }catch(Exception ex){
           ex.printStackTrace(); 
     }
  }catch(Exception ex){
       ex.printStackTrace();
  }

}

我不明白為什么這個函數要多次調用

注意:此函數不是遞歸的

您調用該函數多少次? 一次創建SimpleDateFormat對象,而不是每次都創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM